Reputation: 48412
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!
Upvotes: 2
Views: 854
Reputation: 4313
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.
Upvotes: 2
Reputation: 1087
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
Upvotes: 5