1

我的控制器中有一个方法:

    public ViewResult Index()
{
    var orderdetail = db.OrderDetails.Include(o => o.Product).Include(o => o.Pack).Include(o => o.Order);           
    return View(orderdetail);
}

我的观点 :

<td>
    @Html.DisplayFor(modelItem => item.Order.Username)
</td>
<td>
    @Html.DisplayFor(modelItem => item.Product.Name) 
</td>
<td>
    @Html.DisplayFor(modelItem => item.Pack.Name)
</td>

在我看来,它只会显示第一个包含。所以在这里,只是我的产品,因为 Include(o => o.Product) 在我的 Include(o => o.Pack) 之前。如果我把包放在第一位,它只会显示我的包。我希望我的视图显示两者。我怎样才能做到这一点 ?

对不起我的英语,谢谢你的帮助。

4

1 回答 1

1

看起来你不能这样链接Include调用,你必须明确地建立你的查询,例如

db.OrderDetails.Include(o => o.Product);
db.OrderDetails.Include(o => o.Pack);
db.OrderDetails.Include(o => o.Order);
return View(db.OrderDetails);
于 2012-07-27T13:46:31.923 回答