我试图从我的App.config
中分离出我的连接字符串,并且因为您不能像Web.config
那样进行转换,所以我想我可以使用configSource
属性指向另一个配置文件中连接字符串,但它似乎并没有工作。connectionStrings在App.config中的configSource不起作用
这工作,App.config
:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=*snip*" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
<connectionStrings>
<add name="DefaultConnection"
providerName="System.Data.SqlClient"
connectionString="Server=*snip*" />
</connectionStrings>
</configuration>
但是,这不,App.config
:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=*snip*" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
<connectionStrings configSource="connections.config" />
</configuration>
connections.config
:
<connectionStrings>
<add name="DefaultConnection"
providerName="System.Data.SqlClient"
connectionString="*snip*" />
</connectionStrings>
我正在寻找最简单的解决方案。
任何想法?
_什么不工作?有什么症状?你发布的内容适合我。 '.config'文件是否在同一个目录中? – Oded 2013-02-14 10:58:01
我正在使用的类使用'DbContext',它接受连接字符串参数,所以我传递给那个DefaultConnection。它在connection.tring在App.config中定义但不在单独文件中时起作用。 – 2013-02-14 10:59:50
确保两个文件都保存在同一个目录中(或者'configSource'中的相对路径是正确的)。 – Oded 2013-02-14 11:00:35