Best Practices für die Integration von AutoMapper mit WCF Data Services und EF4
Wir werden Freilegung eines domain-Modell über WCF Data Services. Das Modell stammt von EF4 und erfordert einige zusätzliche Arbeit, um es in die gewünschte form für die Veröffentlichung über das web-service.
Ich möchte zu handhaben, außerhalb von EF4, um unsere EDMX konzentriert sich auf das Modell, anstatt es Verwendung. Meine Idee ist, erstellen Sie eine benutzerdefinierte "ServiceModel", die speziell für die web-service und enthält die service-spezifischen Anliegen.
Meine Frage ist, wie man in den besten Draht-up-automapper in der Mitte von WCF Data Services. Ich bin mit WCF Data Services mit einer benutzerdefinierten (Reflexion-basiert) - Anbieter für die ServiceModels. Wo kann ich konvertieren Sie die OData-Abfrage (für ServiceModels) in einem EF4-Abfrage (für DomainModels), und anzeigen der Ergebnisse zurück an ServiceModels?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benutze ich Automapper in meinem WCF-Dienste zum anzeigen von Datenbank-Entitäten Daten-Verträge. Für jeden service, den ich erstellen Sie eine statische AutomapBootstrap Klasse mit einer Methode zu InitializeMap. Dann für jeden Dienst, den ich schmücken den service mit einem AutomapServiceBehavior Attribut.
Ich weiß nicht, ob dies funktionieren wird, für Ihr Szenario, weil WCF Data Services ist ein wenig anders aus Vanille WCF-SOAP-Dienste und-services mit WCF WebBindings.
Allerdings, die einen Blick Wert sind.
Dies ist das Service-Verhalten
Dies ist mein mapper
dies ist, wie ich Draht bis mein Dienst automap
Letzte Anmerkung, meine service ist ein Vanille-WCF-Dienst mithilfe der WebBinding und die Daten in einem anderen Stil, Mode.
Sei denn, Ihr domain-Modell ist sehr einfach und sehr flach (sehr wenigen Sammlungen in es), würde ich vorschlagen gegen Projektierung von Ihrem domain-Objekte zu erstellen Sie Ihre service - (DTO) Schicht.
Vielmehr würde ich Ihr Projekt DTOs direkt aus Ihrem datenspeicher (DB). Andernfalls wird dazu führen, dass viele WÄHLEN N+1 Probleme und wird am Ende teurer zu pflegen als einfach feuchtigkeitsspendende Ihre DTOs direkt aus Ihrer Datenbank-Tabellen.