AutoMapper是DTO模型和领域模型之间的映射。AutoMapper处理DTO模型和领域模型的转换。通常的做法是:DTO模型C中包含领域模型A对应的DTO模型A和领域模型B对应的DTO模型B,然后在服务端,分别把DTO模型A和DTO模型B通过AutoMapper转换成领域模型A和领域模型B。
//比如视图模型:
public class PersonViewModel
{
public string FirstName{get;set;}
public string LastName{get;set;}
}
//比如领域模型:
public class Person
{
public string Name{get;set;}
}
//领域模型在上下文中:
public class MyDbContext : DbContext
{
public DbSet Persons{get;set;}
}
小结
1、DTO是把数据进行传输的对象,重点在哪里进行 “传输”:展示层和应用层,只要是在 展示层和应用层 之间进行数据交互的,都是 Dto。
2、1个DTO对应1个客户端情况下,DTO = 视图模型;1个DTO对应多个客户端情况下,DTO ≠ 视图模型;