私は、データ マッパー パターンを使用するデータ アクセス レイヤーに取り組んでいます。コードの実際の構造は、たとえば次のとおりです。
public class Person {
public int Age
public string FirstName
public string LastName
public List<Address> Addresses
...
}
public class PersonMapper {
public Person GetPersonById(int id)
public List<Person> GetAll()
public bool UpdatePerson(Person person)
...
}
同じ名前のデータベーステーブルに対応する非常に多くのクラスがあります。
私の質問は次のとおりです。
私のアプローチは正しいですか?すべてのテーブルをマッピングしたら、ドメイン レイヤーで使用します。
Mapper クラスでは、これらのクラスと同じ名前のテーブルでのみ機能するメソッドを使用します。(
Person
クラス -> Persons db テーブル、Order
クラス -> Orders db テーブルなど) しかし、データベースから高度な選択をマップする最良の方法は何ですか。これには、より多くのテーブルへの結合が含まれます。たとえばPerson
、彼のすべてを選択したいのですが、プロパティと使用Orders.
が含まれる Person のドメインモデルを作成する必要がありますか?List<Orders>
PersonMapper
OrderMapper