实体框架中的共享连接字符串

Boo*_*amp 5 c# asp.net-mvc entity-framework-4

我想在我的Web.config中创建一个connectionString,然后在所有模块声明的"provider connection string"属性中重用它.

示例:以这种方式声明连接字符串:

<add name="MyConnectionString" connectionString="Data Source=.;Initial
Catalog=MyDB;User ID=username;Password=pwd;" />
Run Code Online (Sandbox Code Playgroud)

然后在模块之间共享此连接:

<add name="Module1Context" connectionString="metadata=res//*/Module1.csdl| ... | 
...;provider=System.Data.SqlClient;provider connection string=MyConnectionString" 
providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)

这可能吗?

Ala*_*SFT 0

按照上面描述的方式不可能直接实现。

几乎可以肯定,解决这个问题的工作量要比仅仅复制连接字符串、注释或取消注释条目要多得多。

确保您使用配置转换文件来管理它。

如果您确实必须这样做,那么您将需要使用EntityConnectionStringBuilder类自行构建连接字符串,从您的值中提取提供程序连接字符串MyConnectionString。实例化上下文对象时,在上下文对象中设置 EntityConnection 属性;有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/bb896325.aspx