Лучший способ пошагового заполнения данных в Entity Framework 4.3

Я использую Entity Framework 4.3 в существующей базе данных, и у меня есть несколько сценариев, которые я пытаюсь удовлетворить.

Во-первых, если я удаляю свою базу данных, я бы хотел, чтобы EF воссоздал ее с нуля - для этого я успешно использовал инициализатор базы данных CreateDatabaseIfNotExists.

Во-вторых, если я обновляю свою модель и база данных уже существует, я бы хотел, чтобы база данных обновлялась автоматически - я успешно использовал Entity Framework 4.3 Migrations для этого.

Итак, вот мой вопрос. Скажем, я добавляю в свою модель новую таблицу, которая требует некоторых справочных данных, что является лучшим способом обеспечить создание этих данных как при запуске инициализатора базы данных, так и при выполнении миграции. Я хочу, чтобы данные создавались при создании базы данных с нуля, а также при обновлении базы данных в результате выполнения миграции.

В некоторых примерах миграции EF я видел, как люди использовали функцию SQL () в методе UP миграции для создания начальных данных, но, если возможно, я бы предпочел использовать контекст для создания начальных данных (как вы видите в большинстве примеров инициализатора базы данных). мне кажется странным, что вы будете использовать чистый sql, когда вся идея EF абстрагируется от этого. Я пытался использовать контекст в методе UP, но по какой-то причине он не думал, что таблица, созданная в процессе миграции, существовала, когда я пытался добавить начальные данные непосредственно под вызовом для создания таблицы.

Любая мудрость высоко ценится.

Ответы на вопрос(2)

Ваш ответ на вопрос