我有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
对象?我发现了一些类似的问题,但未找到一个明确的答案。
提前致谢,非常感谢您的帮助。
答案 0 :(得分:1)
要从PersonDto映射到Person,您需要配置属性以允许反向配置。
将属性更改为如下所示:
[MapsTo(typeof(Person), ReverseMap = true)]
这将允许为PersonDto调用AutoMapper - >亲,要查看更多内容,您可以查看项目的自述文件here。
答案 1 :(得分:1)
只是为了扩展上一个答案,如果您要映射automapper congif
文件或code
,您可以这样做:
AutoMapper.Mapper.CreateMap<PersonDto,Person>().ReverseMap();