[英]Design pattern for mapping database in Data Access Layer [C#]
我在使用數據映射器模式的數據訪問層上工作。 我的實際代碼結構例如:
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
和next OrderMapper
?
請參見DAO模式。
通常:對於數據庫中的每個表,您都有一個實體,該實體的Dao類還有一個與數據庫進行通信的數據庫類。
例如Person,PersonDao,Database。
人是實體。 PersonDao使用Database類僅查詢人員表的數據庫。 數據庫是數據庫的CRUD類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.