我希望能够深层复制2个对象。这些类型仅在运行时才知道。我有一个使用反射的深拷贝函数,但我想使用AutoMapper
,因为它会更强大。
我找到了
Mapper.Map(item, itemInDatabase, item.GetType(), itemInDatabase.GetType());
但我认为如果它是一个复杂的类型,你仍然需要为它们的属性创建映射。
AutoMapper
有没有办法在不创建映射之前复制2个对象?它只会基于属性名称。
修改
对象是相同的,但它们来自不同的命名空间。 基本上,我想将一个对象从实体框架复制到一个相同的对象,但是在不同的edmx中。
答案 0 :(得分:3)
在地图之前使用Mapper.Initialize(c => c.CreateMissingTypeMaps = true)
初始化映射应该可以解决问题,即使是深层映射(当然,前提是您的类在结构上完全相同)。