簡體   English   中英

如何在Linq中編寫嵌套查詢

[英]How to write nested query in Linq

我有兩張桌子

  1. 用戶管理員
  2. 區域大師

我的SQL查詢是這樣的:

select * from tblArea  where areaid
not in (select areaid from
tblUserMaster)

請告訴我如何在linq中編寫這樣的嵌套查詢

var result = tblArea.Where(x => !tblUserMaster.Any(m => m.areaid == x));

我找不到任何好的方法可以執行以下操作:

var tb1 = tblUserMaster.ToList();
var result = tblArea.AsEnumerable().Where(x => !tb1.Any(m => m.areaid == x));

但這不是一個好方法,最好編寫存儲過程,而不是將所有數據加載到客戶端。 也許有人可以做得更好,但我認為它無法改進。

AsEnumerable()關鍵字從linq-> sql移到了純linq,但是它加載了所有數據。

試試這個

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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM