我需要创建新对象并将其添加到数据库。首先,我为产品(我的实体)设置唯一的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