Ich habe eine Item
, die eine Liste von Product
enthält, die mit AutoMapper ihren jeweiligen ViewModel
-Objekten zugeordnet sind.
In meinem MVC-Projekt habe ich eine Action-Methode, die Item
mit einem ausgewählten Product
anzeigt. Dazu habe ich eine ViewModel
genannt ItemDetailsViewModel
, die enthält das abgeflachte Item
Objekt, eine Liste von ProductViewModel
's und ein abgeflachtes ausgewählt Product
.
Die Schwierigkeit, die ich habe, zeigt am besten diese abgeflachte ausgewählte Product
.
Denken Sie darüber nach wie eBay, wo Sie eine Item
haben und Sie können mehrere Variationen wählen, z. nach Farbe. Für mich sind die verschiedenen Variationen die Products
. Wenn der Benutzer die Product
auswählt, möchte ich die ItemDetails
, d. H. Die Item
, die Liste von Products
und die ausgewählte Product
zurückgeben.
Ich habe mich gefragt, wie ich das am besten machen könnte? Im Moment mappt meine Methode eine Item
auf eine ItemDetailsViewModel
, wählt die gewünschte ProductViewModel
und ordnet dann jede Eigenschaft der ProductViewModel
auf die ItemDetailsViewModel
zurück. Da die Item
und Product
dieselben benannten Eigenschaften haben, überschreibt die letzte Zeile, die das Produkt zurückversetzt, die Item
s-ID und den Code.
Irgendwelche Vorschläge, wie Sie das Mapping am besten konfigurieren können?
Ich habe die Zuordnung weggelassen, da es sich hauptsächlich um eine direkte Eins-zu-Eins-Zuordnung handelt, abgesehen von der Zuordnung der ausgewählten ProductViewModel
zurück zu ItemDetailsViewModel
.
Klassen
%Vor%Aktion
%Vor% Eine Lösung wäre, die Eigenschaften in ItemDetailsViewModel
in Ihrem Mapping von ProductViewModel
auf ItemDetailsViewModel
zu ignorieren:
Tags und Links c# automapper automapper-3