如何为这种情况编写linq查询?

时间:2011-02-08 15:21:07

标签: silverlight-4.0 entity-framework-4 wcf-ria-services

假设我有3个表:

TabA(id1,....,id2,...)

TabB(id2,...)

TabC(id3,....,id2,...)

现在我想要的是找出TabC中的所有记录,这些记录应该能够通过其id1从TabA中识别出来。如果使用SQL,查询将是

选择c。* 来自TabC c

在c.id2 = b.id2

上加入TabB b

在a.id2 = b.id2

上加入TabA a

其中id1 = inputID

如何在为SL应用程序使用EF和WCF Ria服务时编写此linq?

this.ObjectContext.TabC.Where(.....

1 个答案:

答案 0 :(得分:0)

我通常这样做(我觉得它更容易阅读):

var q = 
from c in ctx.TabC
from b in ctx.TabB.Where(b=> b.id2 == c.id2)
from a in ctx.TabA.Where(a=> a.id2 == b.id2)
where a.id1 == inputID
select new {....};

我希望这有帮助!