[英]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>)的类型参数。 尝试显式指定类型参数。
这三个变量, InventoryWares
, InventoryDetails
和Items
是我试图连接在一起的三个表。 红色的花体在我的第二个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.