我正在从示例应用程序 MVC Music Store 学习 MVC。它有两个数据库表,一个称为“Order”,另一个称为“OrderDetails”。如果下订单并且客户选择了多个商品,则在结账后,购买的每件商品都会在 OrderDetails 数据库中创建一个新行,并且 OrderDetailsID 将增加。
OrderDetail 数据库如下所示:
http://imagebin.org/221494
我想编写一个控制器,它只会传递所有具有相同特定 OrderId 的行。例如,在该数据库中有 3 行,每行具有相同的 OrderId '3'。
我怎样才能做到这一点并将其传递给剃刀视图?我试过了:
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcMusicStore.Models;
namespace Test.Controllers
{
public class OrderDetailsController : Controller
{
private MusicStoreEntities db = new MusicStoreEntities();
//
// GET: /OrderDetails/Details/5
public ActionResult Details(int id = 0)
{
OrderDetail orderdetail = db.OrderDetails.Find(id);
if (orderdetail == null)
{
return HttpNotFound();
}
return View(orderdetail);
}
这将基于 OrderDetailsId 返回一个结果,而不是多个结果都具有相同的 OrderId。我应该能够访问.....:11091/orderdetails/Details/3,看到的不是一个结果,而是三个不同专辑及其价格的列表。
有没有一种简单的方法可以做到这一点?谢谢你的建议。