態
>本文演示瞭如何在不使用傳統子句的情況下執行Linq中的左外聯機。 我們利用和
>與join-on-equals-into
結合使用,用於簡潔有效的解決方案。
from
這是替代語法:join
DefaultIfEmpty()
此LINQ查詢執行
集合上的左外連接,從而生成了新的
對象集合。 對於<code class="language-csharp">var q = from l in lefts join r in rights on l.Key equals r.Key into ps_jointable from p in ps_jointable.DefaultIfEmpty() select new JoinPair { LeftId = l.Id, RightId = p?.Id ?? 0 };</code>>中的每個項目,它試圖根據
>屬性中的lefts
>中的匹配項。 如果存在匹配項,則rights
in JoinPair
項目的lefts
。 如果找不到匹配,則使用null-Conditional Operator(rights
)和Null-Coalescing Operator(Key
>)。
RightId
JoinPair
方法是必不可少的。它可以確保即使在Id
集合中找不到匹配項,也會產生結果。 在沒有匹配項的情況下,rights
返回默認值(在這種情況下為NULL),然後由Null-Conditional和Null-CoAlescing Operator優雅處理。 這種方法為Linq中的左外聯合的標準RightId
語法提供了更可讀性和可能更具性能的替代方案。
以上是如何在不使用Join-n-Equals-Into子句的情況下執行LINQ中的左外連接?的詳細內容。更多資訊請關注PHP中文網其他相關文章!