Я использую MVC 2 с Entity Framework (новейшей, поставляемой с VS2010 RC) и имею следующую проблему:
По причинам совместимости пример сущности User в базе данных содержит поле с именем «Disabled», которое является типом int со значениями 0 или 1 (для отображения в bool).
В моих отображениях edmx это поле называется «отключено», и его методы получения и установки являются внутренними.
Затем дополнительный частичный класс предоставляет это поле как свойство bool 'Disabled' для операций в коде:
public partial class User
{
public virtual bool Disabled
{
get { return Convert.ToBoolean(this.disabled); }
set { this.disabled = Convert.ToInt16(value); }
}
}
Работает нормально, пока мне не нужно обновить пользователя с помощью обычной формы редактирования, затем TryUpdateModel завершается с сообщением:
Значение 'false' недопустимо для Disabled.
Я не знаю, почему MVC не отображает это правильно. Есть идеи?
Спасибо