我想排除查询结果。
例如我有:
Table_1 (Id, name)
Table_2 (Id, Table_1_Id)
而且,我想编写只返回 Table_1
的结果的查询,而 Table_2
中不存在。这是一种一对多的关系。
有什么想法吗?
var query = db.Table_1.Include("Table_2").Where(????
最佳答案
你应该使用 Except
:
var query = db.Table_1.Select(MapToType).Except(db.Table_2.Select(MapToSameType));
如果您使用的是不支持它的旧版 EF,您可以使用 All
:
var query = db.Table_1.Where(x => db.Table_2.All(y => y.Table_1_Id != x.Id);
关于c# - Entity Framework 排除结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31851399/