我正在從示例應用程序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