2016-07-17 6 views
0

Ich habe einige Problem mit Mapping-Modelle. So habe ich eine EntitätsmodellMapping Virtual Property Automapper

public class User 
{ 
    public string UserId { get; set;} 

    public ICollection<Group> Groups {get; set;} 
} 

und DTO Modell

public class UserInfo 
{ 
    public string UserId { get; set;} 

    public List<GroupInfo> Groups {get; set;} 
} 

So habe ich Problem, wenn Benutzer auf Userinfo Mapping Konfigurationstyp fehlt für Group. Wie initialisiert man das zweite Mapping?

var config = new MapperConfiguratiins(cfg=>cfg.CreateMap<User,UserInfo>()); 
var mapper = config.CreateMapper(); 
var userInfo = mapper.Map<UserInfo>(user); 
+0

Können Sie mir bitte zeigen Sie uns, wie Sie Benutzer zu Userinfo Mapping sind

Benutzer ist auf Userinfo wie die folgende abgebildet? –

+0

var config = new MapperConfiguratiins (cfg => cfg.CreateMap ()); var mapper = config.CreateMapper(); var userInfo = mapper.Map (Benutzer); –

+0

Entschuldigung für Fehler –

Antwort

1

Versuchen Sie dies für Ihre MapperConfiguration:

var config = new MapperConfiguration(cfg => 
{ 
    cfg.CreateMap<Group, GroupInfo>(); 
    cfg.CreateMap<User, UserInfo>(); 
}); 
+0

Es funktioniert, aber ich habe vergessen, dass in meiner Gruppe gibt es auch Benutzerreferenz es ist viele zu viele Beziehung. Daher ignoriere ich diese Mitgliederzuordnung. Ansonsten verursacht es StackOverflow-Ausnahme. Und es ist normal. So ist es eine schöne Methode zur Problemumgehung oder opt.Ignore ist die beste Lösung? –

+1

Ja, das Ignorieren der Benutzerreferenz in der Gruppe sollte die Lösung dafür sein. –