Entity Framework 4 and Default Values

I might be missing something, but a SQL Server 2008 R2 database as generated by Entity Framework 4 is missing the default values I configured via the EF designer.

Any ideas what I could be doing wrong?

10
задан Shaun 27 August 2010 в 16:57
поделиться

1 ответ

Причина этого в том, что значения по умолчанию, которые вы можете установить в концептуальной модели, и значения по умолчанию базы данных совершенно не связаны.
Давайте рассмотрим типичную ситуацию, когда у вас уже есть база данных со значениями по умолчанию, установленными для столбцов, по тому же маркеру, что значения по умолчанию НЕ будут выбраны в схеме хранилища или самой сущностью.

Поэтому, если вы определяете значение по умолчанию для свойства объекта в модели, которая будет использоваться для создания схемы базы данных, важно знать, что ни одно из значений по умолчанию, которые вы определяете для свойства объекта, не будет передано. в базу данных.

Однако стоит отметить, что шаблон генерации кода EntityObject T4 по умолчанию и шаблон Entities POCO по умолчанию будут устанавливать значение по умолчанию для этого свойства в сгенерированном классе.

Вы можете убедиться в этом, внимательно изучив файл yourModelName.edmx.sql, который был сгенерирован VS2010 после нажатия кнопки «Создать базу данных из модели…». Как видите, такого в нем НЕТ:
ДОБАВИТЬ ОГРАНИЧЕНИЕ ПО УМОЛЧАНИЮ «Значение по умолчанию» ДЛЯ YourColumnName

12
ответ дан 4 December 2019 в 00:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: