假设 A 为具有属性 ID(int) 和 Status(Bool) 的对象模型 和 B 作为对象模型也有 ID(int) 和 Status(Bool)
我想从 A 中获取按其属性过滤的数据。如果它是一个像
"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 的新手。
最佳答案
如果 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))
关于c# - C# Entity-Framework 中对象模型的过滤数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32025158/