如何将包含“ not in”的SQL查询转换为LINQ?

问题描述

选择不同的[Taskid] FROM [Dbimg]。[dbo]。[table1],其中没有Taskid(从[Dbimg]。[dbo]。[table1]中选择Taskid,ValidationFlag为null)

请帮助在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();