Мне нужно решить проблему с несколькими арендаторами в ядре платформы сущностей.Каждый арендатор получает собственную базу данных (по историческим причинам это нельзя изменить).
Я буду использовать фабрику контекста, как это предлагается во многих местах ( пример 1 , пример 2 , пример 3 ).
Мои вопросы:
- могу ли я использовать пул контекста при таком подходе
- могу ли я использовать
IMutableEntityType.QueryFilter
установить в OnModelCreating
Если DbContext возвращается из пула, я беспокоюсь, что это будет ссылка на старую строку подключения, а не на новую (если запрос был запущен из другого клиента, тогда где был создан контекст).
Я думаю, что могу решить миграцию следующим образом (с вторая точка ):
foreach (var tenant in allTenants)
{
var context = dbContextFactory.CreateDbContext(tenant, configuration);
context.Database.Migrate();
}
Помимо моих 2 вопросов.Есть ли что-то еще, что я должен подумать, прежде чем начать кодировать?