使用AutoMapper将值从object1复制到object2

时间:2017-05-01 00:12:26

标签: c# automapper

我有Person类

public class Person
{
   public int PersonID { get; set; }
   public string FullName { get; set; }
   public int InternalValue { get; set; }
}

而且,这是我的DTO课程

public class PersonDto
{
   public int person_id { get; set; }
   public string full_name { get; set; }
}

我使用AutoMapper和AutoMapper.Attributes来执行映射,如下所示;

[MapsTo(typeof(Person))]
public class PersonDto
{
   [MapsToProperty(typeof(Person), "FullName")]
   public int full_name { get; set; }
}

我有一个API,它接受PersonDto并使用Entity Framework保存到数据库中。请注意,InternalValue在DTO类中不可用,这是一个秘密值:)。

我的问题是 是否有可能使用AutoMapper将值从PersonDto对象复制到Person对象?我发现了一些类似的问题,但未找到一个明确的答案。

提前致谢,非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

要从PersonDto映射到Person,您需要配置属性以允许反向配置。

将属性更改为如下所示:

[MapsTo(typeof(Person), ReverseMap = true)]

这将允许为PersonDto调用AutoMapper - >亲,要查看更多内容,您可以查看项目的自述文件here

答案 1 :(得分:1)

只是为了扩展上一个答案,如果您要映射automapper congif文件或code,您可以这样做:

AutoMapper.Mapper.CreateMap<PersonDto,Person>().ReverseMap();