我目前正忙着花些时间研究ASP.NET MVC。我正在做的 教程Create a Movie Database in ASP.NET MVC,仍然使用ADO.NET Enity模型。我设法从LINQ实体模型创建一个列表视图。所以这是我的问题。 绑定属性不适用于我的SQL实体。
使用Ado.NET的原始代码
public ActionResult Create([Bind(Exclude="Id")] Movie movieToCreate)
{
if (!ModelState.IsValid)
return View();
_db.AddToMovieSet(movieToCreate);
_db.SaveChanges();
return RedirectToAction("Index");
}
我的LINQ代码
public ActionResult Create([Bind(Exclude = "Id")] Movies movieToCreate)
{
if (!ModelState.IsValid)
{
return View();
}
_db_linq.Movies.InsertOnSubmit(movieToCreate);
_db_linq.SubmitChanges();
return RedirectToAction("Index");
}
但不排除Id字段。有任何想法吗?谢谢!
答案 0 :(得分:7)
您的ID属性可能是一个int,它不是可以为空的类型。正因为如此,即使它在绑定时被排除,它也必须有一个值。在这种情况下,它具有其类型的默认值,即零。
确保正确设置数据库,将ID字段的IsIdentity属性设置为true并重新创建LINQ类。