如何获取新创建的PK并返回所选索引的页面

时间:2014-10-23 18:05:37

标签: asp.net-mvc-4 html.dropdownlistfor scope-identity

我有一个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();


        }

1 个答案:

答案 0 :(得分:2)

在我们添加的对象中, EF 会自动添加新添加记录的SaveShanges() ID后,您可以通过调试和观看来确认:

db.x.Add(y);
db.SaveChangesNew();

int InsertedRecordId = y.Id;