我試圖從我的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