-1

我在使用数据映射器模式的数据访问层上工作。我的实际代码结构例如:

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以及下一个OrderMapper

4

1 回答 1

3

请参阅DAO模式。

一般来说:对于数据库中的每个表,您都有一个实体和一个实体的 Dao 类,还有一个与数据库通信的数据库类。

例如 Person、PersonDao、Database。

人就是实体。PersonDao 使用 Database 类仅查询数据库的人员表。Database 是数据库的 CRUD 类。

于 2016-12-16T13:15:16.443 回答