データマッパーパターンを使用するデータアクセス層で作業します。コードの実際の構造は、たとえば次のとおりです。データアクセス層のデータベースをマッピングするためのデザインパターン[C#]
私は非常に多くのクラスを持ち、同じ名前のデータベーステーブルに対応しています。
私の質問は以下のとおりです。
は私のアプローチは正しいですか?すべてのテーブルをマップしたら、それをドメインレイヤーで使用します。
Mapperクラスでは、これらのクラスと同じ名前のテーブルのみで動作するメソッドを使用します。 (
Person
クラス - > Persons dbテーブル、Order
クラス - > Orders db tableなど)しかし、より多くのテーブルへの結合を含むデータベースからの高度な選択肢をマップする最良の方法は何ですか。たとえば、Person
をすべて彼のOrders.
と選択したいのですが、プロパティーList<Orders>
を含むPersonのドメインモデルを作成し、PersonMapper
と次のOrderMapper
を使用する必要がありますか?
マッパーと呼ばれる理由はわかりません。個人的に私はリポジトリです。私ができるなら、私はそれをすべて行うエンティティフレームワークを使用したいと思います。 –
EF私は使用できませんでした...なぜリポジトリですか? –
@DenisStephanov: 'DataAccessLayer'世界では、あなたの' PersonMapper'クラスは一般に 'PersonRepository'と呼ばれます。 'Mapper 'という言葉は' DAL'の意味が異なります。 –