问题描述
如何在c#中使用AutoMapper映射嵌套类,
我正在上课……。
public class Source{
public int Id {get;set;}
public Address Address {get;set;}
}
public class Dest{
public int Id {get;set;}
public AddressModel Address {get;set;}
}
如何映射具有映射的Address和AddressModel的Source
和Dest
类
我是AutoMapper的新手,请帮助...
我的映射现在看起来如下。
CreateMap<Source,Dest>().ForMember(dest=>dest.AddressModel,opt=>opt.MapFrom(src=>src.Address)).ReverseMap();
解决方法
如果源和目标名称与子属性i-e相同,则Automapper会自动映射子属性
public class Source
{
public int Id { get; set; }
public Address Address { get; set; }
}
public class Dest
{
public int Id { get; set; }
public AddressModel Address { get; set; }
}
public class Address
{
public string Name { get; set; }
}
public class AddressModel
{
public string Name { get; set; }
}
映射
CreateMap<Source,Dest>().ReverseMap();
UseCase
var source = new Source { Id = 1,Address = new Address { Name = "A" } };
var dest = _mapper.Map<Dest>(source);
在这里,您将在目标变量
中获得地址对象