powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF Core - в чем разница при выполнении миграции?
25 сообщений из 40, страница 1 из 2
EF Core - в чем разница при выполнении миграции?
    #40051829
Landwarrior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу в Startup.cs так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
  using (var scope = app.ApplicationServices.CreateScope())
  {
    scope.ServiceProvider.GetRequiredService<BlogContext>().Database.Migrate();
  }
}


или так

Код: c#
1.
2.
3.
4.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
  Database.SetInitializer(new MigrateDatabaseToLatestVersion<BlogContext, Configuration>());
}




В чем разница и как правильнее обеспечить миграцию? Пока вижу только что все нужные колонки появились (в первом случае).
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40051876
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Landwarrior
и как правильнее обеспечить миграцию


Правильно в классе Program.

https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/intro?view=aspnetcore-5.0#register-the-context-with-dependency-injection

кусочек из доки:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
public static void Main(string[] args)
{
     var host = CreateWebHostBuilder(args).Build();

    using (var scope = host.Services.CreateScope())
    {
        var services = scope.ServiceProvider;
        try
        {
            var context = services.GetRequiredService<SchoolContext>();
            DbInitializer.Initialize(context);
        }
        catch (Exception ex)
        {
            var logger = services.GetRequiredService<ILogger<Program>>();
            logger.LogError(ex, "An error occurred while seeding the database.");
        }
    }

    host.Run();
}
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40051952
Landwarrior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПравильно в классе Program.

А почему? Чем плохо делать все эти шаги в Configure() ?
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40051973
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Правильно в классе Program.

О, да. Зачот++.
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40051974
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Landwarrior
Чем плохо делать все эти шаги в Configure() ?

Тем что Configure совершенно для других и вполне определенных целей.
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40051979
Landwarrior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

У меня доступ к базе берется на основании содержимого appSettings.json + еще полэкрана действий по определению нужной коннект-строки. Сейчас это все подтягивается через штатный DI. Как мне тогда кошерно вызывать миграцию?
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40052051
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Landwarrior
авторПравильно в классе Program.


А почему? Чем плохо делать все эти шаги в Configure() ?

в Configure выполняется настройки обработки запроса.
вы же, простите, в уборной не обедаете? хотя.. чем плохо-то? ))


Landwarrior
У меня доступ к базе берется на основании содержимого appSettings.json + еще полэкрана действий по определению нужной коннект-строки. Сейчас это все подтягивается через штатный DI. Как мне тогда кошерно вызывать миграцию?


всё там же.. вы хоть документацию по ссылке открывали?
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40052059
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Landwarrior
У меня доступ к базе берется на основании содержимого appSettings.json + еще полэкрана действий по определению нужной коннект-строки. Сейчас это все подтягивается через штатный DI. Как мне тогда кошерно вызывать миграцию?

Тебе ведь выше показали - все точно так же, как в Configure, только DI получаешь не через app.ApplicationServices в Configure, а через host.Services в Main.
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40052224
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, это можно ведь и в отдельный класс вынести...
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40052248
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
ну, это можно ведь и в отдельный класс вынести...


В документации и в приведённом выше коде так и сделано.
Кастомный класс называется DbInitializer.
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40052276
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Кастомный класс называется DbInitializer.

Я видел муфлонов, которые это в сам DbContext помещали. Хорошо еще, что хотя бы не в конструктор.
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053025
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Landwarrior
пропущено...


А почему? Чем плохо делать все эти шаги в Configure() ?


в Configure выполняется настройки обработки запроса.
вы же, простите, в уборной не обедаете? хотя.. чем плохо-то? ))


Landwarrior
У меня доступ к базе берется на основании содержимого appSettings.json + еще полэкрана действий по определению нужной коннект-строки. Сейчас это все подтягивается через штатный DI. Как мне тогда кошерно вызывать миграцию?


всё там же.. вы хоть документацию по ссылке открывали?


немного раньше это было норм. так что не в тему аналогия
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053026
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
hVostt
Кастомный класс называется DbInitializer.

Я видел муфлонов, которые это в сам DbContext помещали. Хорошо еще, что хотя бы не в конструктор.


и что они сломали?
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053039
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach
немного раньше это было норм. так что не в тему аналогия


если кому-то говнокодить норм, я против ничё не имею
настаивать не вижу никакого смысла
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053058
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
я против ничё не имею

Я имею. Говнокод зло.
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053084
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
love_bach
немного раньше это было норм. так что не в тему аналогия


если кому-то говнокодить норм, я против ничё не имею
настаивать не вижу никакого смысла

Это не говнокод
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053095
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
hVostt
я против ничё не имею

Я имею. Говнокод зло.

Я тоже за добро
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053098
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Landwarrior
Чем плохо делать все эти шаги в Configure() ?

Тем что Configure совершенно для других и вполне определенных целей.

Program тоже для других и вполне определенных целей. Вернее для одной - точка входа, стартануть хост
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053151
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach
Program тоже для других и вполне определенных целей. Вернее для одной - точка входа, стартануть хост

Хорошо.
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053237
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach
hVostt
пропущено...


если кому-то говнокодить норм, я против ничё не имею
настаивать не вижу никакого смысла

Это не говнокод


Говнокод. И в документации описано как делать правильно.
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053238
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach
Program тоже для других и вполне определенных целей. Вернее для одной - точка входа, стартануть хост


Это вы с чего так решили?
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053333
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach
Program тоже для других и вполне определенных целей. Вернее для одной - точка входа, стартануть хост

Сконфигурировать и стартануть хост.
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053334
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
если кому-то говнокодить норм, я против ничё не имею
настаивать не вижу никакого смысла

Как же ты в "кураторы" собрался?
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053336
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
love_bach
Program тоже для других и вполне определенных целей. Вернее для одной - точка входа, стартануть хост


Это вы с чего так решили?


приведи конструктивные аргументы, пожалуйста
...
Рейтинг: 0 / 0
EF Core - в чем разница при выполнении миграции?
    #40053337
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
love_bach
Program тоже для других и вполне определенных целей. Вернее для одной - точка входа, стартануть хост

Сконфигурировать и стартануть хост.


Startup для конфигурации. из его имени это следует
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF Core - в чем разница при выполнении миграции?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]