Можно ли настроить модель Entity Framework таким образом, чтобы при создании базы данных из модели сгенерированные столбцы идентификаторов имели приращение идентификатора, отличное от 1? Например, у меня может быть столбец идентификаторов, в который я хочу добавить последовательность идентификаторов: 1, 11, 21, 31, ... (считая 10 вместо 1).
Меня не слишком беспокоит начальное значение идентификатора, поскольку я могу легко повторно заполнить таблицу с помощью оператора sql после того, как EF сгенерирует схему db. Однако, похоже, что если бы я хотел изменить приращение идентификатора, то я должен заново создать таблицу (по крайней мере, в Microsoft Sql Server). Это может быть довольно сложно сделать автоматически из-за отношений с внешним ключом.
Так есть ли способ настроить столбцы идентификаторов в EF? Если нет, я бы тоже согласился с проверкой и изменением сценариев создания схемы, прежде чем они будут выполнены с БД, если это возможно.
Обновление с некоторыми дополнительными сведениями:
Я уже переопределил метод Seed
, предоставляемый DropCreateDatabaseIfModelChanges
(включенная реализация IDatabaseInitializer
). Здесь я запускаю несколько пользовательских процедур инициализации после создания схемы EF. Я думал, что я мог бы добавить еще один, чтобы изменить каждую спецификацию столбца идентичности после создания. Однако, как отмечалось выше, для изменения приращения идентификатора мне необходимо заново создать каждую таблицу (и ее внешние ключи). В отсутствие простого способа изменить приращение столбца идентификаторов после его создания, я хотел бы настроить столбцы идентификаторов перед их созданием, чтобы EF создавал их с приращением, отличным от 1, или в качестве альтернативы изменил созданные сценарии создания таблиц. EF, прежде чем они будут казнены.