我需要創建新對象並將其添加到數據庫。首先,我爲產品(我的實體)設置唯一的ID。並返回用戶可以設置其他字段的視圖。MVC實體框架說該字段爲NULL,但它不是
public ViewResult Create()
{
var product = new Product { ProductID = GetFreeId() };
return View("Edit",product);
}
的觀點:
@using (Html.BeginForm()) {
@Html.EditorForModel()
<input type="submit" value="Save" />}
再通過控制器,我們得出這樣的方法:
public void AddProduct(Product product)
{
context.Products.Add(product);
context.SaveChanges();
}
如果我把一個斷點在最後的方法,我會看到product.ProductID=10
但對string context.SaveChanges();
我得到異常:
無法插入ProductID爲null的實體。
錯誤在哪裏?
只是想知道你回到AddProduct actionresult? – ssilas777 2013-03-06 20:12:35
是的。 [HttpPost] public ActionResult Create(Product product) if(ModelState.IsValid) { repository.AddProduct(product); – Stalli 2013-03-06 20:15:47