1
In this question之间的对象,回答简单类的克隆。自动映射器,克隆相同复杂类或其同胚等价类
我的问题是
将在相同的方式工作,为复杂属性的类?或者需要映射整个类属性层次结构?
有没有一种简单的方法可以用AutoMapper复制两个具有完全相同结构(同胚)的复杂类?
In this question之间的对象,回答简单类的克隆。自动映射器,克隆相同复杂类或其同胚等价类
我的问题是
将在相同的方式工作,为复杂属性的类?或者需要映射整个类属性层次结构?
有没有一种简单的方法可以用AutoMapper复制两个具有完全相同结构(同胚)的复杂类?
是的,您可以对所有这些请求使用AutoMapper。
是相同的方法将你从那里创建地图,以及对于复杂类型以及工作,只要。
AutoMapper将为您做到这一点。
代码:
// Creating poco instance
var personDTO = new PersonDTO
{
FirstName = "Jon",
LastName = "Smith",
Address = new AddressDTO
{
City = "New York City",
State = "NY",
Street = "12 Main ST",
ZipCode = "32211"
}
};
// Create a mapping scheme
AutoMapper.Mapper.CreateMap<AddressDTO, Address>();
AutoMapper.Mapper.CreateMap<PersonDTO, Person>();
AutoMapper.Mapper.CreateMap<AddressDTO, Address>().ReverseMap();
AutoMapper.Mapper.CreateMap<PersonDTO, Person>().ReverseMap();
// Creating the destination type
var person = AutoMapper.Mapper.Map<PersonDTO, Person>(personDTO);
Console.WriteLine("I'm {0} {1} and i'm from {2} state.", person.FirstName, person.LastName, person.Address.State);
// Output: I'm Jon Smith and i'm from NY state.