Мое приложение MVC2 доставляет мне горе сегодня ... Я хочу отредактировать запись базы данных, используя следующий код контроллера:
[AcceptVerbs(HttpVerbs.Post), Authorize(Roles = "Admin")]
public virtual ActionResult Edit(int id, FormCollection formValues)
{
var masterDataProxy = MasterDataChannelFactory.OpenChannel();
var tester = masterDataProxy.GetTester(id);
masterDataProxy.CloseChannel();
if (null == tester)
{
return View(Views.NotFound);
}
try
{
UpdateModel(tester);
var adminProxy = AdminChannelFactory.OpenChannel();
adminProxy.AddUpdateTester(tester);
adminProxy.CloseChannel();
return RedirectToAction(Actions.Index());
}
catch (Exception ex)
{
ModelState.AddModelError("Tester", ex.Message);
return View(tester);
}
}
Я получаю исключение высокого уровня "Модельтип «Model.Entity» не может быть обновлен », и когда я углубляюсь в ModelState, я вижу, что при попытке обновить поле Id происходит сбой -« Установка свойства Id поддерживается только в .NET 3.5+ во время десериализации объекта ».
Вопрос в том, как я могу сказать UpdateModel () не обновлять поле Id?Я не хочу обновлять это поле !!
Есть идеи?Dave