我有一个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();
}
EF在我们添加的对象中自动添加新添加记录的SaveShanges()
id后,您可以通过调试和观看来确认:
db.x.Add(y);
db.SaveChangesNew();
int InsertedRecordId = y.Id;