您好我正在研究ASP.NET MVC项目。目前我正在使用模型第一种方法,我曾经使用ADO.NET模型手动添加数据库。目前我有4个数据库,我在web.config文件中有4个连接字符串。
直到现在一切都很好,因为我正在研究开发环境。但是现在我需要将我的代码移到现场,问题是,在现场我们有40到50个数据库。所以我应该做的是,当用户想要连接到特定数据库时动态生成连接字符串。
我有这个存储过程,它返回连接字符串和数据库名称。
例如,如果我有4个数据库名称,如db1,db2,db3和db4,我需要将此数据库名称与我的存储过程结果数据库名称进行比较,如果两者相等,则生成等于该数据库名称的连接字符串。
而且我需要在生成连接字符串时将其置于会话中,因此不需要为特定会话再次生成连接字符串。
有人可以帮助我吗?
答案 0 :(得分:0)
EF DbContext
作为constructor parameter获取连接字符串或连接字符串本身的名称。因此,生成任何类型的连接字符串都没有问题,并在创建DdContext时提供此功能。
在我们的应用程序中,我们有许多租户,每个租户都有一个数据库。对于每个请求,我们查找它是什么租户,并从Settings DB提供连接字符串到租户自己的数据库。
我没有使用过Ado.Net,但从我在Google看到的情况来看,这与Entity Framework非常相似(或基于)。因此,根据您的特定实现,必须有一种方法来提供与web.config
一起的数据库上下文的连接字符串。