我正在使用EF4和MVC 2.
我正在向数据库插入一条新记录,我需要它来返回新的ID值。
我的存储过程如下所示:
SELECT SCOPE_IDENTITY() AS NewApplicationID;
这是我的行动方法:
public ActionResult CreateApplication(ApplicationViewModel applicationViewModel)
{
if (ModelState.IsValid)
{
try
{
Mapper.CreateMap<ApplicationViewModel, Application>();
var application = (Application)Mapper.Map(applicationViewModel, typeof(ApplicationViewModel), typeof(Application));
var success = applicationRepository.InsertApplication(application);
}
catch (Exception ex)
{
}
}
return View("CreateApplication", applicationViewModel);
}
这是我的存储库类中的InsertApplication方法:
public int InsertApplication(Application application)
{
db.Applications.AddObject(application);
return db.SaveChanges();
}
我需要返回新ID的值。
我希望有人可以提供帮助。
感谢。
答案 0 :(得分:1)
我设法解决了这个问题。当我添加我的存储过程时,我将NewApplicationID映射到ApplicationID属性。因此,在插入记录后,它将ApplicationID属性设置为SCOPE_IDENTITY()返回的值。