tags:

views:

87

answers:

2

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  A: 

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&amp;referringTitle=Home

Michael Ulmann
If can give me the actual code to do this, I'll mark it up and mark it as the answer.
Randy Minder
Mapper.CreateMap<Account, AccountDto>();Mapper.CreateMap<Enterprise, EnterpriseDto>();Mapper.CreateMap<User, UserDto>();
Michael Ulmann
A: 

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.

Ryan

related questions