我有两张桌子
我的sql查询如下:
select * from tblArea where areaid
not in (select areaid from
tblUserMaster)请告诉我如何在linq中编写这样的嵌套查询。
发布于 2010-11-18 06:55:47
var result = tblArea.Where(x => !tblUserMaster.Any(m => m.areaid == x));发布于 2010-11-18 09:24:04
我找不到任何好的方法你可以做这样的事:
var tb1 = tblUserMaster.ToList();
var result = tblArea.AsEnumerable().Where(x => !tb1.Any(m => m.areaid == x));但这不是一个好方法,最好是编写存储过程,而不是将所有数据加载到客户端。也许有人能做得更好,但我认为它是无法改进的。
AsEnumerable()关键字从linq->sql移动到纯linq,但它加载所有数据。
发布于 2010-11-18 22:13:02
试试这个
var result=from tblarea in db.TblArea
where
!
(from tblusermaster in db.TblUserMaster
select new {
tblusermaster.Areaid
}).Contains(new { tblarea.Areaid })
select new {
tblarea.Areaid,
tblarea.Column1,
tblarea.Column2
}https://stackoverflow.com/questions/4212317
复制相似问题