Mein Problem besteht darin, ein Viewmodel von einem Linq2Sql-Objekt zu hydratisieren, das von der Datenbank zurückgegeben wurde. Wir haben dies in ein paar Bereichen gemacht und haben ein schönes mehrschichtiges Muster dafür entwickelt, aber das neueste Element verlangt nach einigen Enums, die verwendet wurden und das hat Kopfschmerzen verursacht. Momentan ziehen wir uns aus der Datenbank zurück und verwenden dann den Automapper, um in unsere Viewmodels zu hydratisieren (oder flacher zu werden), aber die Enums im Modell scheinen Probleme mit dem Automapper zu verursachen. Ich habe versucht, benutzerdefinierte Resovler zu erstellen, die für alle meine anderen Mapping-Anforderungen ausreichend waren, aber in diesem Fall funktioniert es nicht.
Ein Beispiel des Codes sieht wie folgt aus:
%Vor%Ich bekomme den folgenden Fehler
%Vor%Ich würde gerne bei allen Mapping-Aktionen mit Automapper bleiben, aber ich habe viele Leute sagen hören, dass es diese Art von Mappings nicht macht, also frage ich mich, ob ich es benutze in die falsche Richtung? Außerdem habe ich ein paar Erwähnungen von ValueInjecter gesehen - ist dies eine Alternative zu Automapper, oder wird es nützlich sein, einfach die Löcher in Automapper für die Hydration von Modellen zu stopfen und Automapper für die Verflachung zu verwenden?
Ja, ich könnte einfach eine Zeichenkette in meinem ViewModel verwenden, aber ich bin kein Fan von magischen Zeichenketten, und dieses spezielle Element wird von Helfern verwendet, um einige Logik an verschiedenen Stellen auszuführen.
Dies ist ein Problem mit der AutoMapper-Dokumentation. Wenn Sie die AutoMapper-Quelle herunterladen, gibt es Beispiele darin. Der gewünschte Code wird wie folgt aussehen:
%Vor%Hier ist eine Lösung mit dem ValueInjecter : Da du das Problem bereits gelöst hast, werde ich dich auf etwas ähnliches hinweisen:
AutoMapper-Zeichenfolgen zum Auflisten von Beschreibungen
in dieser Frage waren die Anforderungen ein bisschen mehr als nur von String zu Enum zu tun, aber es beinhaltet auch diese Umwandlung
über den ValueInjecter als Alternative: Ja, es gibt mehr generische keine Konfiguration für jede kleine Sache erforderlich, und bauen Sie, was immer Sie sich vorstellen können
Tags und Links asp.net-mvc enums viewmodel automapper valueinjecter