Es fällt mir schwer zu verstehen, wie man bestimmte Objekte abbildet. Bitte beantworten Sie einige Fragen zu diesem einfachen Beispiel.Simple Automapper Beispiel
Beispielcode
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; }
}
Die Mapper
Mapper.CreateMap<User, UserDto>();
Mapper.CreateMap<UserDto, User>();
Mapper.CreateMap<Group, GroupDto>();
Mapper.CreateMap<GroupDto, Group>();
Wenn Group
-GroupDto
abbildet, sind Sie User
zu UserDto
intern zur Karte haben, weil die List<User>
in Group
bestehen aus unmapped Users
? Wenn ja, wie machst du das? Meine Schätzung ist
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)))
Ist das korrekt?
Warum enthält Ihr GroupDTO keine UserDTOs? Wenn dies der Fall wäre, wäre keine weitere Konfiguration als CreateMap erforderlich, damit AutoMapper funktioniert. – stuartd
Hier ist ein einfacher Artikel, den ich auf Automapper mit C# geschrieben habe http://www.codeproject.com/Articles/986460/What-is-Automapper –
Lesen Sie diesen Artikel: http://www.codearsenal.net/2012/12/ csharp-object-to-object-mapping-automapper.html –