我有一個家庭var foo = someUser.MyFamily();
每個用戶的用戶的列表中有類的列表public virtual List<Class> Classes {get; set;}
每個類都有日期public virtual List<Date> Dates {get; set;}
EF如何反轉對象層次
的列表要顯示什麼在這個本週的家庭,我想創建一個表
date class people... class people... date+ class people
所以我真正想要的是反轉這種安排,有
relevan名單牛逼日期,
其類的列表中的每個日期,
有用戶的(但只有用戶在家庭),列表中的每個類
我堅持搞清楚怎麼說的吧。我一直在想它應該是這樣的
var foo = Users x Classes x Dates as in a join
.GroupBy(x => x.Date)
.Select(x => new { something })
.GroupBy(x => x.Class)
.Select(x => new { something })
etc...
,並最終能夠說
foreach (var d in foo)
{
use d.Date
foreach (var c in d.Classes)
{
use c.Class.ClassTime, c.Class.ClassName
foreach (var u in c.Users)
{
use u.FirstName
感謝洞察力。
埃裏克你可以有這種類型的'想'如果你有多對多(除了用戶 - 家庭) - 這是近似一對多(模型)。如果你有m-2-m,那麼最簡單的方法就是重新修改你的實體模型 - 以相反的方向引導關係。然後你可以有一個'本地'linq查詢w/o任何努力。提供您可以更改模型 – NSGaga 2013-04-10 00:35:43
@NSGaga我明白您的觀點,實際上可以使用當前模型。 ClassTime - > Class - > UsersInClass的作品,但它給了我一個包含所有用戶的所有類的所有會議的巨大結果集。不知何故,我將不得不加入家庭成員名單。我想不出如何做到這一點。無論如何,似乎開始加入家庭成員會更快。 – 2013-04-10 01:15:41