Значение по умолчанию для SQL Server не отображается как значение по умолчанию для объекта - PullRequest
2 голосов
/ 18 июня 2011

Значение по умолчанию из столбца таблицы SQL Server не отображается в объекте.

Это нормальное поведение?

Я пытался понять это, но безрезультатно. Спасибо за любую помощь.

Ответы [ 3 ]

2 голосов
/ 18 июня 2011

Объекты имеют свои собственные значения по умолчанию, установленные в конструкторе.Щелкните правой кнопкой мыши свою сущность и выберите свойства, чтобы увидеть значение по умолчанию.

1 голос
/ 18 июня 2011

вы можете указать платформе сущности, что база данных позаботится об этом свойстве, отредактировав это свойство в SSDL файла edmx.

Первоначально

<Property Name="CompanyName" Type="nvarchar" Nullable="false" MaxLength="40" />

мы изменили его на

<Property Name="CompanyName" Type="nvarchar" Nullable="false" MaxLength="40" StoreGeneratedPattern="Computed" />

, установив storeGeneratedPattern = "Computed" . Мы можем сказать EF, что значение свойства будет вставленопо БД.

Для редактирования SSDL

  1. Щелкните правой кнопкой мыши по файлу edmx, откройте его с помощью XML (текстового) редактора.

2.Ctrl + F nameсобственности и просто измените это свойство

0 голосов
/ 18 июня 2011

Entity Framework предоставляет явное значение для каждого свойства. В SQL вы можете написать запрос, который вставит значение в [Field1] и оставит [Field2] и [Field3] пустыми, и они будут использовать базу данных по умолчанию. Но поскольку Entity Framework генерирует запрос на основе свойств, определенных для сущности, всем столбцам всегда будет присваиваться значение, поэтому, если вы хотите указать значение по умолчанию, его нужно будет установить в конструкторе, я не думаю, что он автоматически выбирается при создании модели объекта.

...