我正在創建一個具有經典體系結構的WPF應用程序:UI層,業務邏輯層和基礎結構層。我決定將配置分成兩個文件:包含常用應用配置的app.config文件和包含連接字符串的dll.config,以便在DbContext中用於域模型存儲。第二個.config文件應該粘貼到業務邏輯DLL上,而第一個文件粘貼到相應的UI可執行文件(將自己的配置再多一個UI)。如何指定實體框架代碼外部企業庫配置文件中的第一個連接字符串
的app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="enterpriseLibrary.ConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
</configSections>
<enterpriseLibrary.ConfigurationSource selectedSource="Winter DAL Configuration">
<sources>
<add name="Winter DAL Configuration" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.FileConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
filePath="dll.config" />
</sources>
</enterpriseLibrary.ConfigurationSource>
</configuration>
dll.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
</configSections>
<dataConfiguration defaultDatabase="WinterContext" />
<connectionStrings>
<add name="WinterContext" connectionString="Data Source=Winter.sdf"
providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
</configuration>
現在,當我開始應用,的DbContext拋出一個異常說,它不能找到指定名稱的連接字符串。如果我將連接字符串從dll.config移動到app.config - 所有工作正常。
也許我必須顯式加載配置?或?..我做錯了什麼?
Thx提前!
我想通過企業庫配置的方式來構造我的配置。據我所知,你的解決方案在這裏不起作用。我正在使用Enterprise Library配置,因爲稍後我會將Logging,Exception handling,Validation,Unity等添加到dll.config文件中。這將是每個用戶界面模塊的具體配置... – Danil
而我創建DbContext正如你所指出的,使用base(...)構造函數,但它會引發我提到的異常。 – Danil