3

私のアプリケーションは 3 つのプロジェクトで構成されています。コア、DAL、および BAL。

Core には Domain オブジェクト (Customer、Order、Product) が含まれます。また、基本的な IRepository インターフェイス IRepository も含まれています。<T>.

DAL には EntityFramework 固有のものが含まれています。また、具体的なリポジトリ (CustomerRepository、OrderRepository、ProductRepository) も含まれています。これらの具体的なリポジトリは、DbContext (EF 固有) に依存するため、ここに追加しました。

これで、私の BAL は Core にのみ依存し、DAL には依存しません。このプロジェクトに NInject への依存関係を追加しました。ただし、IRepository<Customer>を CustomerRepository として解決する必要があることを Ninject に伝える必要があるため、ここに DAL 依存関係を追加する必要があります。私のBALプロジェクトでDALへの依存関係を追加しないようにする方法はありますか?

4

1 に答える 1

5

通常、コンポジションルートでコンテナ登録を行います。これは通常、ブートストラップで行われ、そのコードは、ビジネス/ドメインオブジェクトを含むアセンブリではなく、Webまたはデスクトップアセンブリに含まれます。

于 2012-09-21T22:02:43.760 に答える