У меня есть проект MVC 3, который использует Entity Framework.Я могу успешно обновлять сущности следующим образом:
[HttpPost]
publiv RedirectResult Update(MyEntity entity)
{
if(ModelState.IsValid)
{
this.entityRepository.Update(entity);
return RedirectResult(".../Admin");
}
return RedirectResult(".../UnssuccessfullOperation");
}
Теперь проблема возникла, когда я добавил свойство DateTime в мои сущности.Если я не добавлю @ Html.HiddenFor для своего свойства DateTime, дата моей сущности будет 01.01.0001 (или DateTime.Min), которая, очевидно, не может быть сохранена в базе данных.Если я добавляю скрытый ввод, дата отображается, но при обновлении мой ModelState недействителен, и я предполагаю, что это связано с тем, что datetime передается в виде строки.
Теперь есть одно решение, но оно кажется немного странным - не отображать Html.Hidden в представлении и использовать дату и время из репозитория entity:
entity.DateSomething = this.entityRepository.GetSingle(entity.ID).DateSomething;
, но этоне кажется очень правильным.Есть ли другие лучшие варианты в этом случае?