У меня есть модель, настроенная с использованием LINQ to Entities, и работающий код, который, как и ожидалось, добавляет в базу данных.Тем не менее, я не могу заставить UpdateModel работать, когда я использую .NET 3.5.
[HttpPost]
public ActionResult Edit(Site.Models.XYZ xyz)
{
try
{
var original = db.XYZ.First(u => u.id == xyz.id);
UpdateModel(original);
db.SaveChanges();
return RedirectToAction("Index");
}
catch (Exception ex)
{
return View("Error");
}
}
Это приводит к следующему исключению:
System.InvalidOperationException was caught
Message=The model of type 'Site.Models.XYZ' could not be updated.
Source=System.Web.Mvc
StackTrace:
at System.Web.Mvc.Controller.UpdateModel[TModel](TModel model, String prefix, String[] includeProperties, String[] excludeProperties, IValueProvider valueProvider)
at System.Web.Mvc.Controller.UpdateModel[TModel](TModel model, String prefix)
at Site.Controllers.XYZController.Edit(Site.Models.XYZ xyz) in D:***.cs:line 81
InnerException:
Если я выполняю UpdateModel(xyz)
исключение не возникает, но данные также не сохраняются.
Как заставить UpdateModel работать с этим (без обновления до .NET 4.0), почему его нельзя обновить (исключение не помогает, так какнет внутреннего исключения)?