2012-07-03 4 views
3

Это показывает, как установить идентификационное семя.EF Code First - как установить приращение идентификатора

EF Code First - how to set identity seed?

dataannotations set identity seed value on Primary Key with code first

Как установить значение приращения идентичности с помощью кода первой?

+0

Для уведомления о посеве основного идентификатора EF [Этот вопрос] (https://stackoverflow.com/questions/34927619/entity-framework-7-identity-seed/48595581#48595581) –

ответ

2

Невозможно это сделать.

Ни один из способов настройки сущностей (соглашения, атрибуты, свободный API) не позволяет сделать это. Вы не можете его реализовать, используя пользовательские соглашения (короче говоря, пользовательское соглашение проверяет имя, атрибуты, тип, тип сглаживания или что-то вроде столбца, а затем использует свободный API для настройки столбца или объекта). По крайней мере, до EF 6.1.1.

Единственный способ манипулировать идентификатором в SQL Server - использовать DBCC CHECKIDENT, но это позволяет изменять начальное значение, а не прирост.

Если вы хотите изменить приращение, вы должны удалить столбец и создать его снова в инициализаторе базы данных Seed. Проблема в том, что вам нужно отказаться и создать все ключи (PK или FK), связанные с этим столбцом. (Это относится к SQL Server 2014)

Вы можете посмотреть at this answer, где я объясню возможные решения, альтернативы и работы, которые работают, а какие нет, и ссылку для голосования, чтобы включить это в будущий выпуск EF.

Смежные вопросы