可能重复:
LINQ - Where not exists
我正在使用LINQ2SQL,我想比较两个表并选择一个表中缺少的所有行(基于其中一个列值)。
在标准SQL中,我将其写为:
SELECT
FirstName,
LastName,
RefId,
Email
FROM
Users_ActiveDirectory AS ADU
WHERE
NOT EXISTS
(
SELECT
U.RefId
FROM
Users AS U
WHERE
U.RefID = ADU.RefId
)
但是我不确定如何使用LINQ2SQL实现相同的结果?
答案 0 :(得分:0)
Linq有一个.Any()函数,如果序列包含类似......
之类的东西,则返回truefrom ADU in Users_ActiveDirectory
where !((from U in Users where U.RefID == ADU.RefId).Any())
select new
{
ADU.FirstName,
ADU.LastName,
ADU.RefId,
ADU.Email
}
未经测试,不确定您是否需要额外的括号,或者您是否需要做== false而不是......