AutoMapper - warum verwenden Sie Karte über DynamicMap?
Vorausgesetzt die Objekte, die Sie sind-mapping mit AutoMapper werden, benötigen keine benutzerdefinierten Zuordnungen, gibt es immer einen Punkt dabei:
Mapper.CreateMap<Src, Dest>();
//....
Mapper.Map(SrcObject, DestObj);
Wenn keine benutzerdefinierten mappings erforderlich sind, macht den obigen Ansatz gewinnen Sie etwas mehr als nur mit DynamicMap, ohne die Notwendigkeit für Vorherige Konfiguration?
Mapper.DynamicMap(SrcObject, DestObj);
Ich verstehe, dass DynamicMap
ist erforderlich wenn Sie die Zuordnung anonyme Typen, aber ich bin zu Fragen, ob DyanmicMap
ist immer nicht bevorzugt für statische Typen, die benötigen keine benutzerdefinierten mappings.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schon eine Weile her, seit ich das Letzte mal verwendet Automapper, aber wenn ich mich richtig erinnere:
Um
Map
ist, müssen Sie diese Karten explizit zunächst überCreateMap
. Danach können Sie überprüfen Sie Ihre Konfiguration durch den AufrufAssertConfigurationIsValid
.Dies geschieht unmittelbar nach dem Start Ihrer Anwendung, anstatt der Begegnung ein Fehler mid-Ausführung (gegeben, dass Sie erstellen Sie die Zuordnungen und überprüfen beim Start, was zu empfehlen ist).
Auch einige Typen, die passen nicht 1:1, so würden Sie wollen, geben Sie die genauen Zuordnungen nicht sicher, obDynamicMap
macht Gebrauch von den Karten, die Sie eingeführt haben, manuell, eigentlich denke ich es nicht.Gerade überprüft,
DynamicMap
fällt wieder auf den vorhandenen Karten, die in der aktuellen version auf github.Es ist auch eine Frage der performance da
DynamicMap
verwendet reflektion stärker als dieMap
Methode, da Sie bereits angegeben haben, wird die mapping-Konfiguration und die meisten es nicht bee geltend gemacht mehr Fliegen. Nicht sicher, ob die neue version von Automapper ist die Durchführung der Zwischenspeicherung in dieser Hinsicht, jetzt aber.Mapper.AssertConfigurationIsValid();
- alles andere über den starter?? 🙂