【发布时间】:2013-03-10 18:00:26
【问题描述】:
映射器自动映射:
Mapper.CreateMap<ObjectType1, ObjectType2>()
.ForMember(o1 => o1.PropName, mapper => mapper.MapFrom(o2 => o2.Prop2Name));
Mapper.Map(object1, object2);
隐式运算符:
public static implicit operator Object1(Object2 o2)
{
Object1 o1 = new Object2();
//Mapping code here...
return o1;
}
【问题讨论】:
-
我不久前读过这个。 stackoverflow.com/questions/13053590/…
-
快速预览@ChristianLennartsson 的链接... 使用 EmitMapper:Auto Mapper(简单):38483 毫秒,Emit Mapper(简单):118 毫秒,手写映射器(简单):37 毫秒。 EmitMapper 的解释:“[EmitMapper] 有效地使用 Emit 库在运行时直接在 IL 中生成映射器,就好像这些映射器是手工编写的一样。大多数其他映射器使用反射库进行映射(或源代码生成) .”显然已经有好几年了,但值得一读。
标签: c# automapper implicit-conversion implicits