我的问题可能很愚蠢,但我很确定我会错过这个问题的一个非常重要的部分.我必须做一些对象到对象映射(在C#项目中使用的域类和发送到闪存客户端的类之间).
我的第一选择是Automapper.但我有一些问题(嵌套属性,而不是无定义的构造函数定义).事实证明,用automapper映射一个非常复杂的类型并不容易.
然后我的问题是:为什么不实现像这样的方法:
ClassA GetClassAByClassB(ClassB pObj)
{
ClassA objA = new ClassA();
objA.Prop1 = pObj.Prop1;
objA.NestedType.Prop2 = pObj.Prop2;
//....Some more.....
return objA;
}
它具有与使用Automapper完成的映射完全相同的灵活性.您仍然必须提供源对象中的哪个属性被复制到目标对象中的哪些属性.你只需使用’=’而不是lambda表达式.
但是,如果您在域类中更改某些内容,则无论如何都必须更改此“映射”部分.那么说服我使用Automapper的主要原因是什么(正如我在开头说的那样,我很确定我错过了一些重要的东西).