2

データ アクセス アプリケーション ブロックのデータベース オブジェクトにコンストラクター依存関係を持つ DAO オブジェクトを作成しようとしています。Unity が依存関係を解決するように .config ファイルをセットアップするにはどうすればよいですか? Database 型をマッピングして Database オブジェクトを作成しようとしましたが、うまくいきませんでした。

他の誰かがこのようなことを試みましたか?

4

1 に答える 1

0

最初のヒントとして、作成したコードのサンプルを質問に追加してください。それはあなたがどこまで到達したか、そして少なくともどの言語を使用しているかを教えてくれます。私は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 Configuration Tool を使用することです。「ファイン マニュアルを読む」ことをお勧めします。

手動で行う場合、必要な部品は次のとおりです。

<?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>
于 2011-07-18T09:08:57.160 に答える