在ASP.NET MVC中动态生成连接字符串

时间:2014-02-18 15:25:35

标签: asp.net-mvc ado.net connection-string

您好我正在研究ASP.NET MVC项目。目前我正在使用模型第一种方法,我曾经使用ADO.NET模型手动添加数据库。目前我有4个数据库,我在web.config文件中有4个连接字符串。

直到现在一切都很好,因为我正在研究开发环境。但是现在我需要将我的代码移到现场,问题是,在现场我们有40到50个数据库。

所以我应该做的是,当用户想要连接到特定数据库时动态生成连接字符串。

我有这个存储过程,它返回连接字符串和数据库名称。

例如,如果我有4个数据库名称,如db1,db2,db3和db4,我需要将此数据库名称与我的存储过程结果数据库名称进行比较,如果两者相等,则生成等于该数据库名称的连接字符串。

而且我需要在生成连接字符串时将其置于会话中,因此不需要为特定会话再次生成连接字符串。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

EF DbContext作为constructor parameter获取连接字符串或连接字符串本身的名称。因此,生成任何类型的连接字符串都没有问题,并在创建DdContext时提供此功能。

在我们的应用程序中,我们有许多租户,每个租户都有一个数据库。对于每个请求,我们查找它是什么租户,并从Settings DB提供连接字符串到租户自己的数据库。

我没有使用过Ado.Net,但从我在Google看到的情况来看,这与Entity Framework非常相似(或基于)。因此,根据您的特定实现,必须有一种方法来提供与web.config一起的数据库上下文的连接字符串。