Подтвердить что ты не робот

Когда метод Seed вызывается в сценарии первой миграции EF-кода?

Я новичок в проекте и есть этот класс для исходных данных:

 internal sealed class Configuration : DbMigrationsConfiguration<DAL.Context>
    {
        public Configuration()
        {
            AutomaticMigrationsEnabled = true;
        }

И этот код, чтобы начать семя:

protected override void Seed(Context context)
    {
        try
        {

Мой вопрос: когда вызывается метод Seed? Только когда пользователь делает update-database, и у пользователя нет базы данных (в основном нового пользователя), а также когда пользователь с существующей базой данных вызывает update-database?

4b9b3361

Ответ 1

Метод семян используется для инициализации таблиц базы данных некоторыми исходными данными. Всякий раз, когда вы запускаете миграцию и обновляете базу данных, она запускает метод семени. В основном он используется на этапе тестирования, когда вам часто нужно воссоздавать базу данных и заполнять таблицы базы данных с образцами данных. Прочтите эту ссылку http://blog.oneunicorn.com/2013/05/28/database-initializer-and-migrations-seed-methods/ для более подробного объяснения кода.

Ответ 2

Когда дело доходит до метода migrations Seed(), исходящего из класса DbMigrationsConfiguration, он вызывает каждый раз, когда выполняется команда Update-Database. Также, когда пользователь вызывает его с существующей базой данных.

Существует еще один метод Seed() - это инициализатор базы данных. Он вызывается, когда база данных создает и не обрабатывает существующие данные (семя из DbMigrationsConfiguration обманывает их, проверяя, существуют ли указанные сущности).

Приятно взглянуть на один блог единорога для получения дополнительной информации.