在C#Entity-Framework中过滤对象模型的数据

时间:2015-08-15 13:23:20

标签: c# asp.net-mvc entity-framework

假设A为具有属性ID(int)和Status(Bool)的对象模型 和B作为对象模型也有ID(int)和Status(Bool)

我想要从A过滤它的数据属性。如果它是一个像SQL查询 "select * from A where A.Status=True and A.ID in (Select ID from B Where B.Status=True), 我现在不知道怎么做var C =那个查询..

var c = A.Where(a=>a.Status==True && a.ID .....)我不知道如何申请" in"这里

我真的很擅长使用C#Entity Framework。

1 个答案:

答案 0 :(得分:2)

如果A和B有某种关系并且由名为​​AB的导航属性表示,那么查询可以像这样简单:

var c = A.Where(a=>a.Status && a.AB.Status);

如果他们没有任何关系,那么你也可以像这样直接查询(虽然表现不如上面那样):

var c = A.Where(a=>a.Status && B.Where(b=>b.Status).Any(b=>b.ID == a.ID))