0

MVC 4 アプリケーション、VS 2010、Entity Framework 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();


        }
4

1 に答える 1

2

SaveShanges()新しく追加されたレコードの id が、追加したオブジェクトにEFによって自動的に追加された後、デバッグして監視することで確認できます。

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

int InsertedRecordId = y.Id;
于 2014-10-23T18:12:59.923 に答える