簡體   English   中英

數據訪問層[C#]中映射數據庫的設計模式

[英]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)
    ...
}

我有這么多的類,它們對應於具有相同名稱的數據庫表。

我的問題是:

  1. 我的方法正確嗎? 映射所有表時,將在域層中使用它。

  2. 在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM