在数据访问层中映射数据库的设计模式 [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. 在映射器类中,我使用的方法仅适用于与这些类同名的表。(Person类->人员数据库表,Order类->订单数据库表等)但是,从数据库中映射高级选择的最佳方法是什么,该数据库将包含联接到更多表。例如,我想选择Person和他的所有Orders.我应该为Person创建域模型,该模型将包含属性List<Orders>并使用PersonMapper和下一个OrderMapper

参见 DAO 模式。

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

例如 Person、PersonDao、Database。

人就是实体。 PersonDao使用数据库类来查询数据库,只查询人员表。 数据库是数据库的 CRUD 类。

相关内容

  • 没有找到相关文章

最新更新