asp.net

AutoMapper的使用场景

2025-01-08

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 ≠ 视图模型;