2017-05-02 15 views
0

私はEF UnitOfWorkPatternを使用しています。別のリポジトリで1つのリポジトリを使用するのは良い方法ですか?たとえば、私はリポジトリAを持っていますが、このリポジトリにはリポジトリBからデータを取得するロジックが必要です。Entity Framework UnitOfWorkパターン

+0

これは、複数のリポジトリからデータを取得できるサービスレベルで実行する必要があります。 –

答えて

2

いいえ、いいえと言います。リポジトリは通常、CRUD操作を抽象化します。それらは通常、1つの "エンティティ"または "テーブル"に固有です。

「リポジトリ間」となる機能が必要な場合は、おそらくリポジトリの一部ではないビジネスロジックを実装している可能性があります。

+0

私の理解では、UnitOfWorkパターンでは、リポジトリには独自のコンテキストオブジェクトがなく、代わりに1つのコンテキストオブジェクトを使用してすべてを1つのトランザクションに保持します。ですから、別のリポジトリからリポジトリクラスにアクセスすることは問題にはなりません。 – Thangadurai

+0

できます。コンテキストはすべてのリポジトリとuowで同じなので、うまく動作します。しかし、これはパターンがどのように設計されたかではありません。リポジトリはエンティティごとにCRUD操作を抽象化し、UOWはリポジトリを管理し、トランザクション・ビヘイビアを提供します。トランザクション・ビヘイビアは、「サービス」または「マネージャ」またはBLLコンポーネントと呼ばれるものから順番に使用されます。 –

+0

合意。はい、リポジトリにはビジネスロジックを持たないでください(別のリポジトリまたはエンティティにアクセスする必要があります) – Thangadurai

関連する問題