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
是我想要连接在一起的三个表。红色波浪线是我第二次加入声明。
我认为添加完整的参数名称有助于明确说明我要使用的内容,但这不起作用。
答案 0 :(得分:1)
这应该适合你:
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 }
如果这不是您期望的查询,请提供有关您要实现的目标的更多详细信息。