如何在ASP.NET MVC中订购?

如何在ASP.NET MVC中订购?,asp.net,asp.net-mvc,model-view-controller,sql-order-by,Asp.net,Asp.net Mvc,Model View Controller,Sql Order By,我有非常复杂的代码。我正在为许多餐馆开发一个web应用程序,人们可以在那里在线订购。我有两个表和模型用于订单,其中包含有关用户的信息,还有订单详细信息,其中包含菜单项。我创建了ShoppingCartController,它有一个ProcessOrder操作 public ActionResult ProcessOrder(FormCollection frc) { List<Cart> lstCart = (List<Cart>)Session[strC

我有非常复杂的代码。我正在为许多餐馆开发一个web应用程序,人们可以在那里在线订购。我有两个表和模型用于
订单
,其中包含有关
用户
的信息,还有
订单详细信息
,其中包含
菜单项
。我创建了
ShoppingCartController
,它有一个
ProcessOrder
操作

public ActionResult ProcessOrder(FormCollection frc)
{
        List<Cart> lstCart = (List<Cart>)Session[strCart];

        Order order = new Order()
        {
            Name = frc["Name"],
            UserId = User.Identity.GetUserId(),
            OrderTime = DateTimeOffset.UtcNow,
            PaymentType = "Cash",
            Status = "Processing"
        };

        db.Orders.Add(order);
        db.SaveChanges();

        foreach (Cart cart in lstCart)
        {
            OrderDetail orderDetail = new OrderDetail()
            {
                OrderId = order.Id,
                MenuId = cart.Menu.Id,
                Quantity = cart.Quantity,
                Price = cart.Menu.Price,
                RestaurantId = cart.Menu.RestaurantId
            };

            db.OrderDetails.Add(orderDetail);

            db.SaveChanges();
        }

        Session.Remove(strCart);

        return View("OrderSuccess");
}
这里我刚刚添加了
restaurantId
参数

现在我想通过
RestaurantId
显示订单。我想从
OrderDetails->Menu->RestaurantId
中选择
RestaurantId
,但我认为它不起作用,因为每个订单的
OrderDetails
可以有很多
RestaurantId


我应该在
Order
表中添加
RestaurantId
列吗?您能推荐一种方法吗?

订单详细信息同时包含orderId和RestaurantId,这是您需要查询的表

谢谢)我需要这类建议。如果我的问题很愚蠢,我很抱歉)
public ActionResult Index(int? restaurantId = null)
{
    var orders = db.Orders.Include(o => o.User)
                          .Include(p => p.OrderDetails)
                          .OrderByDescending(x => x.Id);
    return View(orders.ToList());
}