Я использую .NET 4.0 и инфраструктуру сущностей для проверки на стороне сервера.У меня есть простая таблица под названием «Контакты», которая выглядит следующим образом:
ID int Не разрешать пустые значения
FirstName nvarchar (50) Не разрешать пустые значения
SecondName nvarchar (50) Не разрешать пустые значения
MobileNumber nvarchar (50) Не разрешать пустые значения
HomeNumber nvarchar (50) Разрешать пустые значения
У меня есть ContactController и строго типизированное представление типа Contact, которое отображает текстовые поля редактирования.Когда я нажимаю «Создать», чтобы попытаться создать новый контакт, у меня появляется метод контроллера, как показано ниже:
[HttpPost]
public ActionResult Create(Contact contact)
{
if (ModelState.IsValid)
{
ContactService.CreateContact(contact);
RedirectToAction("Index");
}
return View();
}
Если я нажимаю кнопку, ничего не вводя, мой код прерывается, прежде чем он попадет сюда.Ошибка поступает в Contacts.Designer.cs в этой строке:
_FirstName = StructuralObject.SetValidValue (значение, false);
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
[DataMemberAttribute()]
public global::System.String FirstName
{
get
{
return _FirstName;
}
set
{
OnFirstNameChanging(value);
ReportPropertyChanging("FirstName");
_FirstName = StructuralObject.SetValidValue(value, false);
ReportPropertyChanged("FirstName");
OnFirstNameChanged();
}
}
Это ConstraintExceptionи это говорит, что это свойство не может быть установлено в нулевое значение.Если я установлю в полях все значения NULL, то код работает, и этой ошибки не возникает, и проверяется, проверена ли модель на ожидаемую.Что здесь не так, пожалуйста?
Спасибо