2

私は10のPOCOクラスを持っています。IRespoitory インターフェイスと UnitOf 作業クラスを使用した作業単位を持つ単純なリポジトリ パターンを使用しています。

すべての IRepository を単一の UnitOfWork インスタンスに配置するのは正しいですか (通常)?

つまり、10 個の POCO クラス - IRepository の 10 個のインスタンス - 10 個のリポジトリすべてを含む UnitOfWork クラスは 1 つだけです。

UnitOfWork
{
IRepository<Customer> CustomerRepository {get; set;}
IRepository<Customer> CustomerRepository {get; set;}
IRepository<Customer> CustomerRepository {get; set;}
// the same for all others 7 POCo class
// ..other stff
}
4

2 に答える 2

0

EF DataContextに少し似ています。

EntityFramework の DataContext は作業単位であり、リポジトリ(またはリポジトリのコレクション) に少し似ています。

私はこれらのものを分離し、依存性注入フレームワーク (structuremap など) を使用することを好みます。

structuremapを要求するIRepository<Customer>と、インスタンスが提供されます。

UoWをリポジトリから分離します。

1 つのUoWクラス (次のようなメソッドを使用SubmitChanges) と、次に Your Repositories (それぞれに次のようなメソッドを使用Add, Delete, ...)を持つことができます:

于 2012-06-27T15:00:16.077 に答える