第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Linq到SQL左轉(zhuǎn)外部聯(lián)接

Linq到SQL左轉(zhuǎn)外部聯(lián)接

九州編程 2019-07-26 15:14:24
Linq到SQL左轉(zhuǎn)外部聯(lián)接此查詢(xún)是否等效于LEFT OUTER加入?//assuming that I have a parameter named 'invoiceId' of type intfrom c in SupportCaseslet invoice = c.Invoices.FirstOrDefault(i=> i.Id == invoiceId)where (invoiceId == 0 || invoice != null)    select new {       Id = c.Id       , InvoiceId = invoice == null ? 0 : invoice.Id}
查看完整描述

3 回答

?
翻翻過(guò)去那場(chǎng)雪

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊

不完全是因?yàn)樽?外連接中的每個(gè)“左”行將匹配0-n“右”行(在第二個(gè)表中),其中-因?yàn)槟男兄黄ヅ?-1。要做左外連接,您需要SelectManyDefaultIfEmpty,例如:

var query = from c in db.Customers
            join o in db.Orders
               on c.CustomerID equals o.CustomerID into sr            from x in sr.DefaultIfEmpty()
            select new {
               CustomerID= c.CustomerID, ContactName=c.ContactName,
               OrderID = x.OrderID == null ? -1 : x.OrderID};

(或者通過(guò)擴(kuò)展方法)




查看完整回答
反對(duì) 回復(fù) 2019-07-27
?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊

您不需要Into語(yǔ)句:

var query = 
    from customer in dc.Customers
    from order in dc.Orders
         .Where(o => customer.CustomerId == o.CustomerId)
         .DefaultIfEmpty()
    select new { Customer = customer, Order = order } 
    //Order will be null if the left join is null

是的,上面的查詢(xún)確實(shí)創(chuàng)建了一個(gè)左外部聯(lián)接。

鏈接到處理多個(gè)左聯(lián)接的類(lèi)似問(wèn)題:Linq到SQL:多個(gè)左外部聯(lián)接




查看完整回答
反對(duì) 回復(fù) 2019-07-27
  • 3 回答
  • 0 關(guān)注
  • 505 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)