[英]Inject DAAB Database Object with Unity
我正在嘗試創建一個DAO對象,該對象將構造函數依賴項添加到數據訪問應用程序塊的Database對象。 如何設置.config文件以使Unity解析依賴關系? 我嘗試映射數據庫類型以創建數據庫對象,但無法使其正常工作。
有沒有其他人嘗試做這樣的事情?
只是一個開始提示,向問題中添加示例代碼。 它告訴我們您已經走了多遠,至少使用了什么語言。 我假設使用C#,EL V5,並從頭開始:
首先,讓我們回顧一下依賴於數據庫應用程序塊的類的標准構造函數:
private Microsoft.Practices.EnterpriseLibrary.Data.Database database;
public TestSQLConnection(Microsoft.Practices.EnterpriseLibrary.Data.Database injectedDatabase)
{
database = injectedDatabase;
}
以及如何調用創建者:
TestSQLConnection testSQLConnection =
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer.Current.GetInstance<TestSQLConnection>();
簡而言之,就是為您提供了依賴注入,忘記了如何創建它,只要求它的一個實例,其余的工作由庫完成。
創建配置的最簡單方法是使用企業庫V5配置工具,因為它會創建必要的部分,因此建議您閱讀“精讀手冊”。
如果您手動進行操作,則需要以下部分:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- Tell EL what sections to use-->
<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>
<!-- And use them -->
<dataConfiguration defaultDatabase="MyDatabase" />
<!-- This is just a plain connection string-->
<connectionStrings>
<add name="MyDatabase" connectionString="Data Source=DUMMY;Initial Catalog=default;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.