我有一个MVC 4应用程序,VS 2010,实体框架5,Sql 2008 R2,c#
在我的控制器中,在我添加一个新条目(实际上是要添加到下拉列表中的表单)之后,我想获取刚刚创建的ID并将其传递回下拉列表,以便页面现在显示新创建的条目(及其所有细节)。
我一直在阅读SCOPE IDENTITY,但我不确定如何从这一方面实施和使用它(如果可能的话)。任何建议都是最受欢迎的。
public ActionResult Create(x y)
{
if (ModelState.IsValid)
{
db.x.Add(y);
db.SaveChangesNew();
//select id from x where id = scope_identity(); ???
// int ID = (int)db.ExecuteScalar(); ???
// Select @@IDENTITY as newId; ???
// SELECT NewID = SCOPE_IDENTITY(); ???
// ViewBag.ID = new SelectList(db.x, "ID", "Name", y); ???
return View();
}
答案 0 :(得分:2)
在我们添加的对象中, EF 会自动添加新添加记录的SaveShanges()
ID后,您可以通过调试和观看来确认:
db.x.Add(y);
db.SaveChangesNew();
int InsertedRecordId = y.Id;