我们可以复制2个对象而不创建映射吗?

时间:2016-03-15 14:37:05

标签: c# automapper

我希望能够深层复制2个对象。这些类型仅在运行时才知道。我有一个使用反射的深拷贝函数,但我想使用AutoMapper,因为它会更强大。

我找到了

Mapper.Map(item, itemInDatabase, item.GetType(), itemInDatabase.GetType());

但我认为如果它是一个复杂的类型,你仍然需要为它们的属性创建映射。

AutoMapper有没有办法在不创建映射之前复制2个对象?它只会基于属性名称。

修改

对象是相同的,但它们来自不同的命名空间。 基本上,我想将一个对象从实体框架复制到一个相同的对象,但是在不同的edmx中。

1 个答案:

答案 0 :(得分:3)

在地图之前使用Mapper.Initialize(c => c.CreateMissingTypeMaps = true)初始化映射应该可以解决问题,即使是深层映射(当然,前提是您的类在结构上完全相同)。