-1
我在使用数据映射器模式的数据访问层上工作。我的实际代码结构是,例如:在数据访问层映射数据库的设计模式[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
类 - >人数据库表,Order
类 - >订单数据库表等)但是,从数据库映射高级选择的最佳方式是什么,它将包含连接到更多的表。例如,我想要选择Person
与他所有的Orders.
我是否应该为Person创建域模型,该模型将包含属性List<Orders>
并使用PersonMapper
和下一个OrderMapper
?
我不知道为什么它被称为映射器。对我个人而言,它是一个存储库。如果可以的话,我会使用实体框架为我做所有这些。 –
EF我无法使用...为什么要存储库? –
@DenisStephanov:在'DataAccessLayer'世界中,你的'PersonMapper'类通常被称为'PersonRepository'。 “Mapper”这个词在'DAL'中有不同的含义。 –