日期:2014-05-20  浏览次数:20781 次

求linq语句
SELECT * FROM a
WHERE id NOT IN
(SELECT id FROM b)
LINQ select where

------解决方案--------------------
from x in db.a
where !b.Select(y => y.id).Contains(x.id)
select x;
------解决方案--------------------
var query=a.Where(x=>!b.Select(y=>y.id).Contains(x.id));
------解决方案--------------------
引用:
SELECT * FROM a
WHERE id NOT IN
(SELECT id FROM b)

如果需要考虑效率且数据量比较大的话,建议你这样做:
var hs=new HashSet<int>(b.Select(y => y.id));
var query=a.Where(x=>!hs.Contains(x.id));