Простой пример Automapper
Мне трудно понять, как наносить на карту определенные объекты. Пожалуйста, ответьте на несколько вопросов об этом простом примере.
Пример кода
class User
{
private int id;
private string name;
}
class Group
{
private int id;
private string name;
private List<User> users;
}
[DataContract]
public class UserDto
{
[DataMember]
public int id { get; set; }
[DataMember]
public string name{ get; set; }
}
[DataContract]
public class GroupDto
{
[DataMember]
public int id { get; set; }
[DataMember]
public string name{ get; set; }
[DataMember]
public List<User> Users { get; set; }
}
Картографы
Mapper.CreateMap<User, UserDto>();
Mapper.CreateMap<UserDto, User>();
Mapper.CreateMap<Group, GroupDto>();
Mapper.CreateMap<GroupDto, Group>();
Когда отображениеGroup
вGroupDto
, вы должны на картуUser
вUserDto
внутренне, потому чтоList<User>
вGroup
состоят из не нанесенных на картуUsers
? Если так, как ты это делаешь? Мое предположение
Mapper.CreateMap<Group, GroupDto>()
.ForMember(g => g.id, opt => opt.Ignore());
.ForMember(g => g.name, opt => opt.Ignore());
.ForMember(g => g.Users, opt => opt.MapFrom(u => Mapper.Map<Group, UserDto>(u)))
Это верно?