【问题标题】:Inject DAAB Database Object with Unity使用 Unity 注入 DAAB 数据库对象
【发布时间】:2011-07-04 04:03:54
【问题描述】:

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

有没有其他人尝试过这样做?

【问题讨论】:

    标签: unity-container enterprise-library config daab


    【解决方案1】:

    只是一个开始提示,将您已完成的代码示例添加到您的问题中。它告诉我们你已经走了多远,至少你正在使用什么语言。我将假设 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>(); 
    

    简而言之,有依赖注入为您服务,忘记如何创建它,只需请求它的一个实例,其余的由库完成。

    创建配置最简单的方法是使用 Enterprise Library 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-12
      • 2012-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多