entity-framework - 如何将包含“不在”的 SQL 查询转换为 LINQ?
问题描述
SELECT distinct [Taskid] FROM[Dbimg].[dbo].[table1] where Taskid not in(从 [Dbimg].[dbo].[table1] 选择 Taskid,其中 ValidationFlag 为空)
请帮助在 linq c# 中转换上述 sql 查询。
解决方案
你可以试试下面的代码
db.table1.Where(x => !db.table1.Where(y => y.ValidationFlag == null).Select(z => z.Taskid).Contains(x.TaskId))
.Select(x => x.TaskId).Distinct();
但在你的情况下,你也可以修改上面的 LINQ,因为你使用的是同一张表
db.table1.Where(y => y.ValidationFlag != null).Select(z => z.Taskid).Distinct();