In meinem Projekt muss ich Objekte von externen Systemen DTOs zuordnen. Das Objekt, das ich abbilden wollen ist:Ordnen Sie eine Klasse zu, die eine Liste von Objekten an eine ähnliche Klasse erbt.
public class PriceLists : List<PriceList> { }
ich die Idee der Abbildungseigenschaften innerhalb der Klasse erhalten, aber Schwierigkeiten haben, eine Lösung für diesen Fall zu finden. Mein DTO wird vorzugsweise „identisch“ zu dieser Quellenklasse, es so einfach wie möglich für den Moment zu machen:
public class PriceListsDTO : List<PriceListDTO> { }
Gibt es eine einfache Lösung oder muss ich meine DTO Objekt Refactoring?
Danke.
Bearbeiten: Ich habe versucht, Mapping für eine Liste von Preislisten ohne Erfolg in Bezug auf dieses Problem zu erstellen.
Mapper.Initialize(cfg => { cfg.CreateMap<PriceList>, <PriceListDTO>(); });
Mapper.Initialize(cfg => { cfg.CreateMap<IList<PriceList>, IList<PriceListDTO>>(); });
Edit2:
public class PriceList
{
public string Agreement { get; set; }
public Currency Currency { get; set; }
public string Description { get; set; }
public Nullable<DateTime> EndDate { get; set; }
public int Id { get; set; }
public Nullable<Guid> ImageKey { get; set; }
public bool IsBid { get; set; }
public bool IsLimitedToStock { get; set; }
public bool IsPrimary { get; set; }
public bool IsPublic { get; set; }
public string Name { get; set; }
public Nullable<DateTime> StartDate { get; set; }
public int Type { get; set; }
}
public class PriceListDTO
{
public string Agreement { get; set; }
public CurrencyViewModel Currency { get; set; }
public string Description { get; set; }
public DateTime? EndDate { get; set; }
public int Id { get; set; }
public Guid? ImageKey { get; set; }
public bool IsBid { get; set; }
public bool IsLimitedToStock { get; set; }
public bool IsPrimary { get; set; }
public bool IsPublic { get; set; }
public string Name { get; set; }
public DateTime? StartDate { get; set; }
public int Type { get; set; }
}
Und die Währungsklasse und DTO enthält nur String-Eigenschaften.
zeigen Sie Preisliste und pricelistdto Klasse. einige Probleme nur in Klassen –
Aktualisierter Beitrag mit den von dir gewünschten Klassen, Pankaj. –
laufen immer 'cfg.AssertConfigurationIsValid()' am Ende Ihrer Initialisierung zu überprüfen, es – Eris