Подтвердить что ты не робот

Проверить структуру сущности ограничения

В EF можно добавить ограничение проверки, поэтому, если у моего объекта CustomerNotes есть логическое свойство "FollowUpRequired", я заставляю пользователя вводить действительную будущую дату в свойстве "FollowUpDate"?

4b9b3361

Ответ 1

В настоящее время EF не поддерживает проверки ограничений.

То есть вы не можете применить атрибут к сущности и ожидать, что он сгенерирует соответствующий SQL для создания контрольной строки в базовой базе данных.

Один из способов обойти это при использовании Первых Миграций Первых Данных (http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx) - создать миграцию и добавить строку Sql() в переопределении функции Up(), которое сгенерировано

например.

public override void Up()
{
    // Auto generated code here
    // ...

    // YOUR CUSTOM SQL GOES HERE
    Sql("ALTER TABLE foo ADD CONSTRAINT CK_Some_Check CHECK (SomeDate > '20121110 00:00:00.000'");**
}

Также см. этот вопрос и ответ для получения дополнительной информации: Можно ли выразить контрольное ограничение?