データ アクセス アプリケーション ブロックのデータベース オブジェクトにコンストラクター依存関係を持つ DAO オブジェクトを作成しようとしています。Unity が依存関係を解決するように .config ファイルをセットアップするにはどうすればよいですか? Database 型をマッピングして Database オブジェクトを作成しようとしましたが、うまくいきませんでした。
他の誰かがこのようなことを試みましたか?
データ アクセス アプリケーション ブロックのデータベース オブジェクトにコンストラクター依存関係を持つ DAO オブジェクトを作成しようとしています。Unity が依存関係を解決するように .config ファイルをセットアップするにはどうすればよいですか? Database 型をマッピングして Database オブジェクトを作成しようとしましたが、うまくいきませんでした。
他の誰かがこのようなことを試みましたか?
最初のヒントとして、作成したコードのサンプルを質問に追加してください。それはあなたがどこまで到達したか、そして少なくともどの言語を使用しているかを教えてくれます。私は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>