ホームページ > バックエンド開発 > C++ > 「Join-On-Equals-Into`条項なしでLinqで左外の結合を実行する方法は?

「Join-On-Equals-Into`条項なしでLinqで左外の結合を実行する方法は?

Patricia Arquette
リリース: 2025-02-02 14:31:09
オリジナル
999 人が閲覧しました

How to Perform Left Outer Joins in LINQ without `join-on-equals-into` Clauses?

左の外部接続を実行する必要はありませんオブジェクトには、メソッドを使用して、join-on-equals-into句の左の外部接続を実行できます。 左の外部接続のソリューション

DefaultIfEmpty() join-on-equals-into

句を使用して左の外部接続を実行するには、次のようにコードを変更してください。

説明

接続条件が一致しない場合は、接続されているコレクションタイプのデフォルト値を返します(この例ではWhere)。これにより、右のテーブルに右のテーブル()のすべての線が含まれている場合があります。

1

2

3

4

List<joinpair> leftFinal = (from l in lefts

                             join r in rights on l.Key equals r.Key into temp

                             from r in temp.DefaultIfEmpty()

                             select new JoinPair { LeftId = l.Id, RightId = r == null ? 0 : r.Id });

ログイン後にコピー

内部接続用に提供されるコードを考慮してください:

左の外部接続を実現するには、DefaultIfEmpty()条項を次のものに置き換えてください。 JoinPair leftsこの変更により、左側のすべての線が結果に含まれていることを保証します。たとえば、右に一致していない線を含みますrights

以上が「Join-On-Equals-Into`条項なしでLinqで左外の結合を実行する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート