2
我使用Visual Studio 2012(Web Express),我創建了一個簡單的ASP.NET MVC應用程序,(使用數據庫優先方法)遵循this nice guide by hector espinosa。我的問題是,對於使用複合主鍵的表格,腳手架系統無法正常工作。如何將ASP.NET MVC4/EF5腳手架與複合主鍵結合使用?
我的表如下:
CREATE TABLE [dbo].[Unit](
[UnitOid] [int] NOT NULL,
/*other stuff*/
[ReplicationId] [int] NOT NULL,
CONSTRAINT [PK_Unit] PRIMARY KEY CLUSTERED
(
[UnitOid] ASC,
[ReplicationId] ASC
)
腳手架生成控制器和視圖,但只要我點擊編輯或詳情鏈接,所使用的唯一標識符是第一個(UnitOid
)值。
示例操作中,所述控制器:
public ActionResult Details(int id = 0)
{
Unit unit = db.Units.Find(id); // throws an ArgumentException
if (unit == null)
{
return HttpNotFound();
}
return View(unit);
}
異常消息是很清楚:
「上所定義的傳遞必須的 主鍵值的數量相匹配的主鍵值的數量實體「
是MVC4/EF5/VisualStudio 2012的腳手架系統盟友無法處理那個盒子?
注意:這個問題與this one很相似。不過,我正在重複詢問當前版本的工具。
是的,我已經手動完成了。但問題是,我是否對腳手架做了錯誤的事情,以防止它首先使用這兩個鍵。 – Marcel 2013-03-12 06:48:09
我不知道。您只需提交一個錯誤:http://aspnetwebstack.codeplex.com – Pawel 2013-03-12 16:08:42