繁体   English   中英

automapper-使用值映射属性

[英]automapper - map properties with values

我有两个对象,它们基本上(因此不完全相同)是相同的。 它们都具有带有值的属性。

我想将一个对象映射到另一个对象,并覆盖从源目标到目标目标的所有属性值。 但是看来这不是默认情况下发生的吗?

注意:我的地图已经在我的应用程序启动时定义。

我的对象基本上如下所示:

public class Object1
{
    public String Name = "My new Name";
}

public class Object2
{
    public String Name = "My old Name";
}

// Then somewhere in my code:
Mapper.Map(obj1, obj2);

所以我尝试将所有值从Object1映射到Object2 但是,当映射完成后, Object2仍然具有其旧值,而不是Object1中的值。

如何在AutoMapper中映射值?

您应该首先配置AutoMapper

Mapper.CreateMap<Object1, Object2>();

在您的示例中,您尝试映射classes但是这不可能,您应该映射类的instances

var o1 = new Object1();
var o2 = new Object2();

Mapper.Map(o1, o2);

更新资料

Automapper返回新实例,并将该返回实例分配给旧实例。

object1 = Mapper.Map<Object1, Object2>(object2);

暂无
暂无

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

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