Linq实现sql一张表数据不存在另外一张表

来源:互联网 发布:数据库管理系统DBMSS 编辑:程序博客网 时间:2024/05/17 18:17

Linq中包含查询

//Linq代码:T_WxMaterials.Where(n=>T_VideoMsgs.Select(m=>m.MediaID).Contains(n.MediaID)) //生成的sql语句:SELECT [t0].[ID], [t0].[Type], [t0].[Title], [t0].[Cnt], [t0].[MediaID], [t0].[LocalPath], [t0].[WxPath]FROM [T_WxMaterial] AS [t0]WHERE EXISTS(    SELECT NULL AS [EMPTY]    FROM [T_VideoMsg] AS [t1]    WHERE [t1].[MediaID] = [t0].[MediaID]    )

Linq中不包含查询

//Linq代码:T_WxMaterials.Where(n=>!T_VideoMsgs.Select(m=>m.MediaID).Contains(n.MediaID)) //生成的sql语句:SELECT [t0].[ID], [t0].[Type], [t0].[Title], [t0].[Cnt], [t0].[MediaID], [t0].[LocalPath], [t0].[WxPath]FROM [T_WxMaterial] AS [t0]WHERE NOT (EXISTS(    SELECT NULL AS [EMPTY]    FROM [T_VideoMsg] AS [t1]    WHERE [t1].[MediaID] = [t0].[MediaID]    ))
0 0