Я открываю одну базу данных в начале, затем мне нужно открыть другую базу данных на основе выбора пользователем двух значений. Выбор базы данных должен выполняться во время выполнения и будет меняться каждый раз.
Попытался получить доступ к строке подключения с помощью класса строки подключения и попробовал другие варианты, например Singleton, которые я не понимаю. Я запускаю это в локальной системе Windows 10 под управлением SQL Server Express. Кодирую с помощью Asp.Net Core 2.1
> ASP.Net Core v2.1
Создание многопользовательских, многолетних приложений
У каждого клиента будет одна база данных SQL в год
Я надеюсь иметь таблицу со следующей структурой
COMPANY_CODE VARCHAR(3),
COMPANY_YEAR INT,
COMPANY_DBNAME VARCHAR(5)
Пример данных
COMPANY_CODE: AAD
COMPANY_YEAR: 19
COMPANY_DB: AAD19
COMPANY_CODE: AAD
COMPANY_YEAR: 18
COMPANY_DB: AAD18
COMPANY_CODE: AAD
COMPANY_YEAR: 17
COMPANY_DB: AAD17
Итак, каждая компания будет иметь несколько строк - по одной на каждый финансовый год.
В столбце COMPANY_DB будет храниться имя базы данных, которое будет открыто для этого сеанса.
Как только пользователь аутентифицирован, я хочу изменить строку подключения, чтобы она указала на базу данных в столбце COMPANY_DB выбранной строки, а затем позволить вошедшему в систему пользователю выполнять транзакции.
Я не могу понять, как изменить строку подключения, которая встроена в startup.cs.
Любые советы о том, как этого добиться, будут наиболее ценными.