首頁 > 後端開發 > C++ > 如何使用 Lambda 表達式在 LINQ 中連接多個表?

如何使用 Lambda 表達式在 LINQ 中連接多個表?

Susan Sarandon
發布: 2025-01-10 10:58:42
原創
296 人瀏覽過

How to Join Multiple Tables in LINQ Using Lambda Expressions?

使用LINQ Lambda表達式連接多個表

在LINQ中處理多個表時,您可能需要將它們連接起來以收集相關資料。這可以透過LINQ中的lambda表達式來實現。

假設以下場景:

  • 您擁有Product、Category和ProductCategory(關聯表)的類別。
  • 您希望連接所有三個表,並使用特定屬性填充另一個物件(CategorizedProducts)。

以下是使用lambda表達式執行連線的程式碼更新版本:

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,
        // 其他赋值
    });
登入後複製

在此程式碼中:

  • Join操作根據指定的條件連接表。
  • 匿名類型作為連接資料的中間表示。
  • Select操作將所需屬性投影到CategorizedProducts物件中。

此解決方案提供了一個包含連接表中所有屬性的單一類,可讓您根據需要填充CategorizedProducts物件。

以上是如何使用 Lambda 表達式在 LINQ 中連接多個表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板