Entity framework 4 EF4从存储过程返回新的唯一标识符

Entity framework 4 EF4从存储过程返回新的唯一标识符,entity-framework-4,entity,Entity Framework 4,Entity,我正在使用EF4和MVC2 我正在向数据库插入一条新记录,需要它返回新的ID值 我的存储过程的结尾如下: SELECT SCOPE_IDENTITY() AS NewApplicationID; 以下是我的行动方法: public ActionResult CreateApplication(ApplicationViewModel applicationViewModel) { if (ModelState.IsValid) { try {

我正在使用EF4和MVC2

我正在向数据库插入一条新记录,需要它返回新的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);
}
我需要返回新ID的值

我希望有人能帮忙


谢谢。

我设法解决了这个问题。添加存储过程时,我将NewApplicationID映射到ApplicationID属性。因此,在插入记录后,它会将ApplicationID属性设置为SCOPE_IDENTITY()返回的值。

我成功地解决了这个问题。添加存储过程时,我将NewApplicationID映射到ApplicationID属性。因此,在插入记录后,它将ApplicationID属性设置为SCOPE_IDENTITY()返回的值

public int InsertApplication(Application application)
{
   db.Applications.AddObject(application);
   return db.SaveChanges();
}