2011-05-29 76 views
1
[Firstid foreignId field] 
[1  1   textFirst1] 
[2  1   textFirst2] 
[3  1   textFirst3] 
[4  2   textFirst4] 
[5  2   textFirst5] 

LINQ組通過加入

[Secondid foreignId field] 
[1  1   textSec1] 
[2  1   textSec2] 
[3  2   textSec3] 

foreignId reffer同一個表 我的問題是怎麼寫的LINQ2SQL查詢以檢索結果如下:

[foreignId countFromSecond fieldFromFirst] 
[1   2    textFirst1] 
[1   2    textFirst2] 
[1   2    textFirst3] 
[2   1    textFirst4] 
[2   1    textFirst5] 

換句話說,我想要檢索幾乎沒有身份證的第一張桌子,但從第二張桌子的計數中擠出來

回答

4

事情是這樣的:

var query = 
    from first in db.FirstTable 
    select 
     new 
     { 
      first.foreignId, 
      countFromSecond = db.SecondTable 
       .Where(arg => arg.foreignId == first.foreignId) 
       .Count(), 
      first.fieldFromFirst 
     }; 
+0

感謝隊友,真的,我din't知道我們可以把匿名類型的另一個查詢,我thoguht這將是複雜通過加入羣,它的工作原理,謝謝。 – kosnkov 2011-05-29 19:10:19