Возможно ли обслуживать разные базы данных для разных пользователей с помощью одного и того же приложения?

#asp.net-mvc #database #asp.net-core #iis #web-hosting

#asp.net-mvc #База данных #asp.net-core #iis #веб-хостинг

Вопрос:

У меня есть ASP.NET Основное приложение MVC, размещенное в IIS. Я хочу обслуживать несколько разных пользователей, и я бы хотел, чтобы каждый из них имел доступ к своей собственной базе данных.

В настоящее время я просматриваю настройки приложений.Файл Json и здесь я нашел

 "ConnectionStrings": {
    "DefaultConnection": "Server=.\sqlexpress;Database=XXXXX;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
 

Правильно ли я думаю, что в конечном итоге каждый пользователь подключится к моему приложению, и все они будут использовать базу данных «XXXXX»?

Как / где я могу начать настраивать, чтобы у конкретного пользователя была определенная база данных? (Если это вообще возможно?)

С наилучшими пожеланиями

Комментарии:

1. stackify.com/writing-multitenant-asp-net-core-applications — это ответ на твой вопрос?

2. Я рассмотрю это, спасибо за ваши усилия!

3. Если вы хотите подключиться к другой базе данных, вам следует создать разные Dbcontexts и добавить их в ConfigureServices. Затем выберите, какой Dbcontext использовать в соответствии с пользователем.

Ответ №1:

Вы можете добавить столько DbContext, сколько захотите, с разными строками подключения. Как это в ваших службах:

 services.AddDbContext<YourContext>(options => {
     options.UseSqlServer("[ConnectionString]");
});
 

Комментарии:

1. Как я могу применить это для разных пользователей в ОДНОМ файле startup.cs?