Ich muss etwas zwischen Objekten (z. B. PersonModel zu PersonViewModel) kartieren und erforsche die verschiedenen Ansätze dazu. Insbesondere arbeite ich mit Entity Framework und versuche, die generierten Modelle einem Viewmodel zuzuordnen.Was sind die verschiedenen Ansätze zum Object-Object-Mapping in .NET?
Ich habe jedoch noch einen Artikel oder eine Ressource zu finden, die eine Liste zusammenstellt, wie Sie dies tun können. Bisher habe ich über die kommen folgende:
- Implicit Conversion (Ich denke, das die einfachste Ansatz ist, da Sie manuell Karte Eigenschaften von einem Objekt zum anderen, seine einfache, aber langweilig?)
- Erweiterungsmethoden (nicht mit diesem noch gearbeitet)
- Reflection (ich habe ein bisschen gebastelt, schaffte es aber nur sehr grundlegende Mapping)
- AutoMapper (sehr beliebt, aber ich habe Probleme, die es gut mit EF)
- Value Injecter (habe noch nicht damit gearbeitet)
- Emit Mapper (nicht mit diesem noch gearbeitet, aber wahrscheinlich hätte ich Probleme damit es mit EF arbeiten?)
Können Sie bitte auf die Ansätze dort zur Verfügung weisen und erarbeiten helfen, sowie Profis/Nachteile von jedem? Zum Beispiel sah ich, dass Automapper langsam ist, verglichen mit manuellem Mapping. Oder vielleicht, weisen Sie auf einen Artikel hin, der das angeht?
EDIT: da einige fragen, welches Problem ich mit AutoMapper haben, sehen Sie bitte dieses: Automapper: How to map IList to EntityCollection
Du fragst nach einem ganzen Artikel oder gar einem Buchkapitel. SO ist eine Q & A-Site. Und Automapper hat keine Probleme mit EF zu arbeiten, hauptsächlich weil Objekte, die von EF zurückgegeben werden, einfache alte Objekte sind. Wenn Sie EF-spezifische Klassen wie 'EntityCollection' verwenden, machen Sie es falsch. Überprüfen Sie alle Tutorials und Sie werden sehen, dass sie die einfachste 'ICollection verwenden' –