# Dto转Entity自动化注册

具体代码可查看LessSharp.MapperConfiguration层的Configuration类。

关于AutoMapper的入门教程

框架借助了AutoMapper进行DtoEntity的相互映射转换,正常来说,要实现对象的正常映射,需要先手动创建映射,得创建个继承于Profile的类,然后在构造函数中对需要映射的对象进行CreateMap的映射操作,我觉得挺麻烦的,可能我比较懒吧。

其实我框架内的Dto对象跟Entity对象,命名都有一定的关联性,比如说用户的Entity类为User,那它的Dto类分别为UserDtoUserSaveDtoUserCreateDtoUserUpdateDto等等,那我希望在默认情况下,这些对象可以自动创建映射关系,如果有特殊情况我再特殊处理。

这个自动注册功能会反射Entity层里面所有的类与Dto层里所有的类进行命名空间以及类名的匹配,匹配成功的才会创建映射关系。映射的自动创建只会在系统启动进行生成,所以对系统性能无任何影响。

例如

命名空间LessSharp.Entity.Sys下面的User实体只有匹配到LessSharp.Dto.Sys下面的User开头的Dto类才会创建映射关系,在命令空间LessSharp.Dto下面的User开头的类是不会匹配到的。

# 使用方法

只要按照以上的命名规则在LessSharp.Entity层及LessSharp.Dto层分别创建对应的EntityDto就会自动创建映射关系,如果有特殊的情况,例如某个字段需要特殊处理的,可以的MapperConfiguration层里创建对应的Profile派生类,创建对应的映射关系。

上次更新: 1/3/2021, 9:01:12 PM