我在开始时打开了一个数据库,然后需要根据用户选择的两个值打开另一个数据库。数据库选择必须在运行时进行,并且每次都会更改。
尝试使用连接字符串类访问连接字符串,还尝试过其他选项,如我不理解的Singleton。我正在运行一个运行SQL Server Express的本地Windows 10系统。使用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中的连接字符串。
如何实现这一点的任何提示都将不胜感激。