EF Core с пулом DbContext и несколькими арендаторами - база данных на каждого арендатора - PullRequest
0 голосов
/ 06 февраля 2019

Мне нужно решить проблему с несколькими арендаторами в ядре платформы сущностей.Каждый арендатор получает собственную базу данных (по историческим причинам это нельзя изменить).

Я буду использовать фабрику контекста, как это предлагается во многих местах ( пример 1 , пример 2 , пример 3 ).

Мои вопросы:

  • могу ли я использовать пул контекста при таком подходе
  • могу ли я использовать IMutableEntityType.QueryFilter установить в OnModelCreating

Если DbContext возвращается из пула, я беспокоюсь, что это будет ссылка на старую строку подключения, а не на новую (если запрос был запущен из другого клиента, тогда где был создан контекст).

Я думаю, что могу решить миграцию следующим образом (с вторая точка ):

foreach (var tenant in allTenants)
{
    var context = dbContextFactory.CreateDbContext(tenant, configuration);
    context.Database.Migrate();
}

Помимо моих 2 вопросов.Есть ли что-то еще, что я должен подумать, прежде чем начать кодировать?

1 Ответ

0 голосов
/ 06 февраля 2019

Да, вы можете использовать фильтры запросов

Нет, вы не можете использовать пул DbContext

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...