リポジトリ パターンとクエリ オブジェクト パターンに関する質問です。私は EF 4 を使用しており、VS 2010 で ADO.NET POCO Entity Generator を使用してデータベース モデルから POCO クラスを生成しました。edmx ファイルと tt ファイル (POCO クラス) は 2 つの異なるプロジェクトにあります。
私のリポジトリは、DocumentRepository や UserRepository などのドメイン固有のものです。私のデータベース モデルは、ドメイン オブジェクトを 1 つ以上のデータベース テーブルに (またはその逆に) 変換するためにマッパーを実装したほど、ドメイン モデルとは異なります。1 つの例は、私の Document ドメイン クラスがデータベース内の 3 つのテーブル (したがって POCO クラス) としてモデル化されていることです。
このような場合にドメイン オブジェクトを使用する場合、クエリ オブジェクト パターンをどのように実装しますか? 私の見方では、ドメイン クラスではなく、POCO クラスに基づいてクエリ オブジェクト ベースを作成する必要がありますか? しかし、それはリポジトリのパターンを壊しませんか?