OSharp是一个基于.Net6.0的快速开发框架,框架对 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、功能权限、数据权限等模块进行更高一级的自动化封装,并规范了一套业务实现的代码结构与操作流程,使 .Net 框架更易于应用到实际项目开发中。
2.77k
stars
748
forks
source link
重构AutoMapper模块,解决复杂映射配置优先级低的问题 #230
Closed
gmf520 closed 3 years ago
您的功能请求与现有问题有关吗?请描述
automapper的如果有MapFromAttribute和实现IAutoMapperConfiguration,后者会配置会失效 #109
描述您想要的需求方案
由于
IAutoMapperConfiguration
的优先级比Profile
的方式低,无法提升IAutoMapperConfiguration
的优先级 统一改为使用Profile
的方式来管理对象映射配置 更改如下:IAutoMapperConfiguration
IMapTuple
增加Order
属性,用于配置多个Profile的执行顺序IMapTuple
的实现基类AutoMapperTupleBase
,其他模块的对象映射均以实现此基类为准MapTupleProfile
更名为MapFromAndMapToProfile
,Order默认为-9999,优先执行[MapFrom], [MapTo]的映射IAutoMapperConfiguration
的实现类改为实现基类AutoMapperTupleBase
,Order默认为0,其配置可以覆盖[MapFrom], [MapTo]中的配置 一个AutoMapperTupleBase
实现类的示例