ホームページ > バックエンド開発 > C++ > ラムダ式を使用してLINQで複数のテーブルを結合するにはどうすればよいですか?

ラムダ式を使用してLINQで複数のテーブルを結合するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-10 10:58:42
オリジナル
253 人が閲覧しました

How to Join Multiple Tables in LINQ Using Lambda Expressions?

LINQ ラムダ式を使用して複数のテーブルを結合する

LINQ で複数のテーブルを操作する場合、関連データを収集するためにテーブルを結合する必要がある場合があります。これは、LINQ のラムダ式を通じて実現できます。

次のシナリオを想定します:

  • Product、Category、ProductCategory (関連テーブル) のクラスがあります。
  • 3 つのテーブルすべてを結合し、別のオブジェクト (CategorizedProducts) に特定のプロパティを設定したいと考えています。

以下は、ラムダ式を使用して結合を実行するコードの更新バージョンです。

<code class="language-csharp">var categorizedProducts = product
    .Join(productcategory, p => p.Id, pc => pc.ProdId, (p, pc) => new { p, pc })
    .Join(category, ppc => ppc.pc.CatId, c => c.Id, (ppc, c) => new { ppc, c })
    .Select(m => new CategorizedProducts
    {
        ProdId = m.ppc.p.Id, // 或 m.ppc.pc.ProdId
        CatId = m.c.CatId,
        // 其他赋值
    });</code>
ログイン後にコピー

このコード内:

  • 結合操作は、指定された条件に基づいてテーブルを結合します。
  • 匿名型は、連結されたデータの中間表現として機能します。
  • 選択操作は、必要なプロパティを CategorizedProducts オブジェクトに投影します。

このソリューションは、結合テーブル内のすべてのプロパティを含む単一のクラスを提供し、必要に応じて CategorizedProducts オブジェクトを設定できるようにします。

以上がラムダ式を使用してLINQで複数のテーブルを結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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