簡體   English   中英

實體框架將3個表連接在一起

[英]Entity Framework Joining 3 Tables Together

var InventoryWares = SOM5Context.InventoryWares;
var InventoryDetails = SOM5Context.InventoryDetails;
var Items = SOM5Context.Items;

var goods = InventoryWares.Join(InventoryDetails,
                                p => p.PalletID,
                                x => x.PalletID,
                                (InventoryWare, InventoryDetail) => new { InventoryWare, InventoryDetail }).Join(Items.ToList(),
                                InventoryWare => InventoryWare.InventoryWare,
                                InventoryDetail => InventoryDetail.ItemNumber,
                                (WareItemNumber, ItemNumber) => new { WareItemNumber, ItemNumber })
                                .Select();

嘗試將這三個表連接在一起時出現錯誤,但無法解決問題。 我得到的錯誤是:

無法從用法中推斷出方法'Queryable.Join(IQueryable,IEnumerable,Expression>,Expression>,Expression>)的類型參數。 嘗試顯式指定類型參數。

這三個變量, InventoryWaresInventoryDetailsItems是我試圖連接在一起的三個表。 紅色的花體在我的第二個join語句上。

我以為添加完整的參數名稱將有助於明確說明我要使用的內容,但這是行不通的。

這應該為您工作:

var goods = InventoryWares.Join(InventoryDetails,
        p => p.PalletID,
        x => x.PalletID,
        (InventoryWare, InventoryDetail) => new {InventoryWare, InventoryDetail})
    .Join(Items,
        x => x.InventoryWare.ItemNumber,
        Item => Item.ItemNumber,
        (x, Item) => new {x.InventoryWare, x.InventoryDetail, Item});

商品將是一個IQueryable,其中每個商品將具有3個屬性: { InventoryWare, InventoryDetail, Item }

如果這不是您期望的查詢,請提供有關您要實現的目標的更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM