繁体   English   中英

Automapper-在C#中创建地图

[英]Automapper - Creating Maps in C#

刚开始使用AutoMapper并想使某些事情变得清晰。

假设我要在User和UserDto之间无缝映射。

这些示例似乎都建议我必须先进入启动区域(例如WebApiConfig.cs或startup.cs或global.axax等),然后执行以下操作:

Mapper.CreateMap<User, UserDto>();

大概如果我有50或100个要映射的实体/ DTO,我是否真的需要添加50或100行代码以及一类到另一类之间的映射? 当然有更聪明的方法了吧?

如果我不需要进行任何特定的映射/覆盖,是否真的需要这样做? 我一定误解了框架的基础,因为这对我来说似乎是错误的。

谢谢!

只要源和目标上的所有内容都匹配,就可以使用DynamicMap

var target = Mapper.DynamicMap<TSource, TTarget>(source);

但是,根据需要创建映射会更有效:

if (Mapper.FindTypeMapFor<TSource, TTarget>() == null)
{
    Mapper.CreateMap<TSource, TTarget>();
}

var target =  Mapper.Map<TSource, TTarget>(source);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM