Automapper, wie map-Liste eines Objekts zur Liste von einem anderen Objekt
Ich bin mit dem folgenden mapping auf der Karte meine-Daten-Objekt viewmodel-Objekt
Quelle:
public class User
{
public string Id { get; set; }
public IList<Address> Addresses {get;set;}
}
public class Address
{
public string Id {get;set;}
public string Name {get;set;}
}
Ziel:
public class UserViewModel
{
public string Id {get;set;}
public IEnumerable<VMAddress> VMAddress {get;set;}
}
public class VMAddress
{
public string Name{get;set;}
}
Mapping:
Mapper.CreateMap<IList<Address>, IList<VMAddress>>();
Mapper.CreateMap<User, UserViewModel>()
.ForMember(d=>d.VMAddress, e=>e.MapFrom(s=> new List<Address>
{
new VMAddress
{
Name = s.Id
}
}))
Mein mapping ist nicht wie erwartet funktioniert. Wie kann ich anzeigen der Liste der id-Eigenschaft der Quelle in die Liste der name-Eigenschaft in der Ziel -?
Immer folgende Fehlermeldung:
Missing type map configuration or unsupported mapping.
Mapping types:
List`1 -> User
System.Collections.Generic.List`1[[User, ...., Version=1.1.0.0, Culture=neutral, PublicKeyToken=null]] -> UserViewModel
Destination path:
UserViewModel
Source value:
System.Collections.Generic.List`1[User]
Dank
- das entfernen dieser Zuordnung gibt "Fehlt der Typ der map-Konfiguration oder ein nicht unterstütztes mapping" Fehler
- Zuordnung von Benutzer-id zu vmaddress id ist in Ordnung. dies ist für die Prüfung. Ich habe meine Karte den code im Header-Mapping:
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Zuordnung funktioniert einwandfrei -