在我们的 MVC4 应用程序中,我的数据库有一个 Orders 表、一个 Products 表和一个 Category 表。每个订单在外键关系中都有一个产品(加上数量),并且该产品属于具有外键的类别。
所以 Order 有一个 OrderId、ProductId(FK 到 Product)、一个数据加上一个数量,并且 Product 有一个 ProductId、Name 和一个 CategoryId(FK 到 Category),Category 有一个 CategoryId 和一个 Name。
现在我们要制作一个“购物清单”,其中显示白天订购的类别,并在类别名称下方显示产品。
下面基于这个问题的查询就是这样做的(除了检查日期):
public ActionResult Index()
{
var orders = db.Orders.Include(o => o.Product)
.Include(o => o.Product.Category)
.GroupBy(o => o.Product.Category.Name)
.Select(cat => cat.FirstOrDefault());
return View(orders.ToList());
}
在我们看来,我可以通过以下方式显示不同的类别:
@foreach (var cat in Model) {
<table>
<tr>
<td>
@Html.DisplayFor(catName=> cat.Product.Category.Name)
</td>
</tr>
</table>
}
下一步是在 for 循环中显示不同的订购产品和数量。所以它看起来像这样,例如:
*Fruit*
Banana x2
Apple x1
*Drinks*
Milk x1
我正在为此苦苦挣扎,想知道该怎么做。我希望有人能给我一些指点