Asp.net mvc 2 要更新的SaveChanges()不起作用

Asp.net mvc 2 要更新的SaveChanges()不起作用,asp.net-mvc-2,entity-framework-4,Asp.net Mvc 2,Entity Framework 4,我使用的是MVC2和EF4 我试图使用自己的存储过程更新我的应用程序实体,但它没有更新。我签出了SQL Profiler,它甚至还没有到达数据库。我还使用了一个insert存储过程,它工作得很好。两个存储过程(插入和更新)都正确映射。有人知道我做错了什么吗 以下是我的EditApplication操作事件: [HttpPost] public ActionResult EditApplication(int id, ApplicationViewModel applicationViewMode

我使用的是MVC2和EF4

我试图使用自己的存储过程更新我的应用程序实体,但它没有更新。我签出了SQL Profiler,它甚至还没有到达数据库。我还使用了一个insert存储过程,它工作得很好。两个存储过程(插入和更新)都正确映射。有人知道我做错了什么吗

以下是我的EditApplication操作事件:

[HttpPost]
public ActionResult EditApplication(int id, ApplicationViewModel applicationViewModel)
{
   if (ModelState.IsValid)
   {
      try
      {
         Mapper.CreateMap<ApplicationViewModel, Application>();
         var application = (Application)Mapper.Map(applicationViewModel, typeof(ApplicationViewModel), typeof(Application));
         application.ApplicationID = id;

         UpdateModel(application);

         // Edit application
         applicationRepository.UpdateApplication(application);

         // If success, redirect to confirmation page
         return RedirectToAction("Confirmation", new { id = application.ApplicationID });
      }
      catch (Exception ex)
      {
         // TODO
      }
   }

   applicationViewModel.AccountTypes = accountTypeRepository.GetAccountTypes();
   return View("CreateApplication", applicationViewModel);
}
[HttpPost]
public ActionResult EditApplication(int id, ApplicationViewModel applicationViewModel)
{
   var application = applicationRepository.GetApplicationByID(id);

   if (ModelState.IsValid)
   {
      try
      {
         Mapper.CreateMap<ApplicationViewModel, Application>();
         application = (Application)Mapper.Map(applicationViewModel, typeof(ApplicationViewModel), typeof(Application));

         application.ApplicationStateID = 1;
         application.ApplicationID = id;

         // Edit application
         applicationRepository.UpdateApplication(application);

         // If success, redirect to confirmation page
         return RedirectToAction("Confirmation", new { id = application.ApplicationID });
      }
      catch (Exception ex)
      {
         // TODO
      }
   }

   applicationViewModel.AccountTypes = accountTypeRepository.GetAccountTypes();
   return View("CreateApplication", applicationViewModel);
}
谢谢
Brendan

这是我的更改,不确定是否正确,但它正在工作

行动事件:

[HttpPost]
public ActionResult EditApplication(int id, ApplicationViewModel applicationViewModel)
{
   if (ModelState.IsValid)
   {
      try
      {
         Mapper.CreateMap<ApplicationViewModel, Application>();
         var application = (Application)Mapper.Map(applicationViewModel, typeof(ApplicationViewModel), typeof(Application));
         application.ApplicationID = id;

         UpdateModel(application);

         // Edit application
         applicationRepository.UpdateApplication(application);

         // If success, redirect to confirmation page
         return RedirectToAction("Confirmation", new { id = application.ApplicationID });
      }
      catch (Exception ex)
      {
         // TODO
      }
   }

   applicationViewModel.AccountTypes = accountTypeRepository.GetAccountTypes();
   return View("CreateApplication", applicationViewModel);
}
[HttpPost]
public ActionResult EditApplication(int id, ApplicationViewModel applicationViewModel)
{
   var application = applicationRepository.GetApplicationByID(id);

   if (ModelState.IsValid)
   {
      try
      {
         Mapper.CreateMap<ApplicationViewModel, Application>();
         application = (Application)Mapper.Map(applicationViewModel, typeof(ApplicationViewModel), typeof(Application));

         application.ApplicationStateID = 1;
         application.ApplicationID = id;

         // Edit application
         applicationRepository.UpdateApplication(application);

         // If success, redirect to confirmation page
         return RedirectToAction("Confirmation", new { id = application.ApplicationID });
      }
      catch (Exception ex)
      {
         // TODO
      }
   }

   applicationViewModel.AccountTypes = accountTypeRepository.GetAccountTypes();
   return View("CreateApplication", applicationViewModel);
}