c# - Entity Framework 排除结果

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

我想排除查询结果。

例如我有:

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/

相关文章:

c# - .net 4.0 任务中的私有(private)变量

asp.net-mvc - 使用 Entity Framework 添加带有 View 的 MVC Controller (2.0)

c# - LINQ:如何测试值是否包含在集合中

c# - 如何使用一致的语法重写此 LINQ 表达式?

c# - 使用连接选择多个表中的多个项目

c# - 用作池的无序线程安全集合?

c# - 有人能告诉我为什么我的标题没有出现在 asp.net c# 中吗?

c# - Jquery ajax 调用以在 MVC 中传递 JSON 数组(500 内部服务器错误)

c# - 提交按钮是否在表单提交时将其值传递给操作方法?

c# - 避免在 ASP.NET MVC 5 应用程序的 Action 上使用 OnResultExecuted Filter