Значения DatabaseGeneratedOption устанавливают, как EF обрабатывает свойство:
None
- стандартное свойство.EF загрузит свое значение во время выбора, позволит приложению изменить значение и сохранить его. Identity
- EF ожидает, что это свойство будет установлено базой данных при вставке записи.EF автоматически загрузит это значение обратно в сущность при вставке записи.Это не обязательно должен быть столбец идентификаторов в базе данных - это также может быть значение, сгенерированное триггером.Прикладная программа не может установить значение для свойства, помеченного как идентификатор Computed
- EF ожидает, что это свойство может изменяться в базе данных после каждой модификации.Он перезагружает значение после каждой вставки или обновления.Приложение не может установить значение для свойства, помеченного как личность.
Поэтому, если вы хотите вызвать процедуру самостоятельно в своем приложении, вы должны использовать None
.Например, если вы решили использовать перед вставкой триггер для выполнения процедуры, вы должны использовать Identity
.
DatabaseGeneratedOption.Identity
означает, что значение будет установлено в базе данных при вставке записи.DatabaseGeneratedOption.Computed
означает, что значение будет устанавливаться в базе данных при каждом обновлении записи.