>本文演示了如何在不使用传统子句的情况下执行Linq中的左外联机。 我们利用和
>与join-on-equals-into
结合使用,用于简洁有效的解决方案。
from
这是替代语法:join
DefaultIfEmpty()
此LINQ查询执行
集合上的左外连接,从而生成了新的
对象集合。 对于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 };
>属性中的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中文网其他相关文章!