我正在从示例应用程序MVC音乐商店学习MVC。它有两个数据库表,一个叫'Order'和另一个'OrderDetails'。如果订单已完成并且客户选择了多个商品,则在结帐后,每件商品都将在OrderDetails数据库中创建一个新行,并且OrderDetailsID将递增。查询数据库MVC 4
该数据库的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并且看不到一个结果,而是看到三个不同的相册及其价格的列表。
有没有简单的方法来做到这一点?谢谢你的建议。
你知道怎么用LINQ来做吗? – user1448260 2012-07-20 04:46:21