Я изучаю EF в школе, и сейчас я работаю с EF 5, MVC 5, я не могу окунуться в Migrations и ContextInitializer. Я следую за этим guide, потому что я нахожу его более подходящим для моего проекта. Я прочитал и почти построил обновленный guide, но, поскольку я использую немного более старый EF5, я не мог заставить его работать.
Мой вопрос: В новом руководстве EF6 есть этот Migrations.cs, который имеет метод Seed, в старшем руководстве EF5, метод Seed находится в [Model] ContextInitializer, что является наилучшей практикой двух ? Я понял, что миграция немного лучше с точки зрения обновления базы данных с помощью команд Enable-Migrations
Add-Migration MyTitle
и Update-Database
в консоли диспетчера пакетов.
Если это глупый вопрос, прошу вас простить меня.Entity-Framework Какова разница между семенами миграции и семенами ContextInitializer?
0
A
ответ
1
Migration Seed
метод предназначен для посева данных сразу после миграции базы данных и инициализатора базы данных Seed
метод предназначен для посева данных сразу после инициализации базы данных.
Вы можете использовать Db Initialize Seed
метод, чтобы добавить начальные данные в БД сразу после инициализации, но вы можете использовать миграции Seed
метод для проверки и/или добавлять новые данные или делать специальные вещи сразу после миграции.
Это может быть немного запутанным, но если вы подумаете об этом, вы поймете это хорошо. Это разные случаи.