Entity Framework 排除结果
Entity Framework exclude result
我想排除查询结果。
例如我有:
Table_1 (Id, name)
Table_2 (Id, Table_1_Id)
而且,我想编写 return 仅来自 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);
我想排除查询结果。
例如我有:
Table_1 (Id, name)
Table_2 (Id, Table_1_Id)
而且,我想编写 return 仅来自 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);