我在加入2张桌子时遇到了麻烦,问题就在这个问题上
join pri in ProductPricingSet on new {o.BusinessUnitId.Id, opr.ProductNameId.Id} equals new {pri.BusinessUnitId.Id, pri.ProductId.Id`}
我得到"得到"匿名类型不能有多个具有相同名称的属性"
我试图重命名它没有运气,还有其他选择吗?
from o in OrderSet
join opr in OrderProductSet on o.Id equals opr.OrderId.Id
join pri in ProductPricingSet on new {o.BusinessUnitId.Id, opr.ProductNameId.Id} equals new {pri.BusinessUnitId.Id, pri.ProductId.Id}
where o.Name.Equals("OE-000004")
select new {
o.name,
opr.ProductName,
opr.Quantity,
pri.SlipDiscount,
pri.FinalPrice
}
答案 0 :(得分:1)
试试这个: -
from o in OrderSet
join opr in OrderProductSet on o.Id equals opr.OrderId.Id
join pri in ProductPricingSet on
new { BusinessUnitId = o.BusinessUnitId.Id, ProductNameId = opr.ProductNameId.Id}
equals new { BusinessUnitId = pri.BusinessUnitId.Id, ProductNameId = pri.ProductId.Id}
where o.Name.Equals("OE-000004")
select new
{
o.name,
opr.ProductName,
opr.Quantity,
pri.SlipDiscount,
pri.FinalPrice
}
您使用的anonymous
类型将生成相同的名称,因此发生冲突,您需要指定单独的名称。