亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用多個聯接、計數和左聯接的SQL到LINQ

使用多個聯接、計數和左聯接的SQL到LINQ

尚方寶劍之說 2019-06-12 17:03:25
使用多個聯接、計數和左聯接的SQL到LINQ我用多個JOIN(包括LEFT JOIN).它給了我預期的結果.SELECT DISTINCT c.Id,         c.Title,         COUNT(v.Id) AS 'Nb_V2',        COUNT(DISTINCT v.IdUser) AS 'Nb_V1',        r.cnt AS 'Nb_R'FROM TABLE_C cJOIN TABLE_V v on c.Id = v.IdLEFT JOIN (      SELECT Id, COUNT(*)  AS cnt      FROM TABLE_R      GROUP BY Id) r ON c.Id = r.IdWHERE c.IdUser = '1234'GROUP BY c.Id, c.Title, r.cnt不過,我想要這個請求的Linq等價物,把它說成是我應用程序的數據訪問層。我試過這樣的方法:var qResult = from c in dbContext.TABLE_C              join v in dbContext.TABLE_V on c.IdC equals v.IdC               join r in dbContext.TABLE_R on v.IdC equals r.IdC into temp              from x in temp.DefaultIfEmpty()               group x by new { c.IdC, c.Title /*miss something ?*/} into grouped              select new                             {                   IdC = grouped.Key.IdC,          --good result                   Title = grouped.Key.Title,      --good result                   NbR = grouped.Distinct().Count(t => t.IdC > 0), --good, but "t.Id > 0" seems weird                   Count = --I'm lost. No idea how to get my COUNT(...) properties (Nb_V1 and Nb_V2)               };我試著適應這個問題但我搞不懂。我迷失了Count在被攻擊的子請求中。有人能解釋我哪里錯了嗎?小貼士:如果有人能用lambda表達式寫出等價物的話,那就加分了。
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 474 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號