Задайте динамический путь поиска для многопользовательского режима на основе схемы в ASP. NET Core - PullRequest
0 голосов
/ 03 апреля 2020

Я пишу новое ASP. NET Базовое приложение (. NET Core 3.1), использующее EF Core для доступа к базе данных. Это приложение должно взаимодействовать с существующей базой данных PostgreSQL, которая имеет схему PostgreSQL для каждого арендатора. Из того, что я прочитал до сих пор, это не тот способ, которым обычно это делают. NET Ядро, но, поскольку база данных уже существует, у меня нет здесь никакого выбора. Я не смог найти никакой полезной информации о том, как динамически переключать схемы, документация для доступа к многопользовательским базам данных, как правило, предполагает модели, отличные от арендаторов на схему или разных баз данных.

Макет таблицы одинаков во всех схемы, поэтому единственное, что должно произойти, это то, что search_path установлен на правильную схему для каждого запроса. Я не уверен, как именно это сделать с помощью EF Core. В документации, которую я нашел, рассматриваются только вопросы, касающиеся установки схемы статически или для каждой модели.

Как правильно обрабатывать такие мультитенантные установки в ASP. NET Ядро, использующее EF Core?

1 Ответ

0 голосов
/ 03 апреля 2020

Лично я бы реализовал некоторый вид DbContextProvider, который бы брал имя арендатора и возвращал DbContext. Реализация этого DbContextProvider выглядела бы как принятый ответ на этот вопрос .

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