问题
Say I have this class:
public class Account
{
public int AccountID { get; set; }
public Enterprise Enterprise { get; set; }
public List<User> UserList { get; set; }
}
When I use AutoMapper to map the Account class, I would also like it to map the Enterprise class, and the list of users (UserList) in the returned object. How can I get AutoMapper to do this?
Thanks!
回答1:
AutoMapper does that out of-the-box if you provide a configuration for the Enterprise and User type.
Configuration looks like this:
Mapper.CreateMap<Account, AccountDto>();
Mapper.CreateMap<Enterprise, EnterpriseDto>();
Mapper.CreateMap<User, UserDto>();
This shows how to how collections get mapped: http://automapper.codeplex.com/wikipage?title=Lists%20and%20Arrays&referringTitle=Home
回答2:
You need to create a mapping for each pair of types you would like mapped.
Mapper.CreateMap<Account, AccountDto>();
Mapper.CreateMap<Enterprise, EnterpriseDto>();
Mapper.CreateMap<User, UserDto>();
Order is not important.
来源:https://stackoverflow.com/questions/2444445/how-do-i-get-automapper-to-map-this