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