2011-02-25 45 views
2

我正在尝试创建一个DAO对象,它将构造函数依赖关系提供给数据访问应用程序块的数据库对象。我如何设置.config文件让Unity解决依赖关系?我试过映射数据库类型来创建一个数据库对象,但无法让它工作。使用Unity注入DAAB数据库对象

有没有其他人试过这样的事情?

回答

0

只是一个开始的提示,添加一个你已经做了你的问题代码的示例。它告诉我们你有多远,至少你用的是什么语言。我假设C#,EL V5和从头开始:

首先,让我们看看这取决于数据库应用程序块上的A级标准的构造函数:

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>