MVC3和Entity框架新手在这里。我正在尝试编写一个控制器来处理编辑和创建新条目。这是我到目前为止的代码(大部分是自动生成的)
//POST: /License/Save
[HttpPost]
public string Save(LICENSE_USER license_user)
{
if (license_user.License_ID != 0)
{
if (ModelState.IsValid)
{
db.Entry(license_user).State = EntityState.Modified;
db.SaveChanges();
return "Save Complete";
}
}
else
{
if (ModelState.IsValid) {
db.LICENSE_USER.Add(license_user);
db.SaveChanges();
return "New License created - " + license_user.License_ID;
}
}
return "What's going on here?";
}
它非常适合编辑,因为我在POST中包含了License_ID字段。但是,对于新条目,我排除了License_ID字段,默认为0.获取下一个License_ID字段并使用该字段更新对象的最优雅方法是什么?
答案 0 :(得分:2)
使数据库中的License_ID
列成为主要自动增量键。这样,您无需在插入新实体时手动设置它。数据库会照顾。
在您的EDMX模型中,此属性的StoreGeneratedPattern
属性必须设置为Identity
。