私たちの MVC4 アプリケーションでは、データベースに Orders テーブル、Products テーブル、Category テーブルがあります。すべての Order には外部キー関係に製品 (および数量) があり、製品は外部キーを持つカテゴリに属します。
したがって、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
私はこれに苦労しており、それを行う方法を考えていました。誰かが私にいくつかの指針を教えてくれることを願っています