Frage

In meinem Repositorys, ich mache Zuordnungen zu meinen Domain-Objekten aus den Linq Entity-Abfragen. Ich habe dann eine Dienstschicht auf diesem Gegenstand von Repositories zurück handeln.

Wenn mein Domain-Objekte im Repository so sein? Oder sollte meine Repositories den Entitäten und Datenzugriff eingeschränkt werden, und stattdessen meine Service-Layer-Zuweisungen vornehmen müssen die Domain-Objekte?

Doing alle Zuordnungen in Repository scheint einfacher, aber jetzt ist der Unterschied zwischen meiner Datenbank und Domain-Objekten ist nicht ersichtlich. Was ist die richtige Praxis hier? tia

War es hilfreich?

Lösung

IMO, wenn die App relativly einfach und man kann den Datenzugriff voran gehen imagine herauszureißen und die asignments im Repository machen. Aber wenn Sie denken, die App komplizierter in der Zukunft erhalten wird, oder dass Sie möglicherweise die Datenzugriffs diese Funktionalität halten aus den Repositories ändern.

Ich habe getan, Apps mit assignement in den Repositories und anderen in der Dienstschicht und noch ein anderes i eine separate Konversionsschicht hatte (es war keine eins zu eins Umwandlung und die Objekte waren komplex).

Eine Sache, über die besten Praktiken zu erinnern, gibt es zu helfen, wenn es etwas mehr dificult macht es dann nicht verwendet werden.

Andere Tipps

Früher habe ich es nicht mögen. Aber jetzt in der Regel nie wieder sehen. Grundsätzlich ist die Sache ist, dass, wenn Sie benötigen eine externe Datenquelle zu ändern, die anders strukturiert ist, können Sie eine neue Zuordnung zusammen mit der Implementierung des Repository-Code eingerichtet und mit ihm getan werden.

Es handelt sich um die Datenzuordnung. Überprüfen Sie diesen Link: http://www.martinfowler.com/eaaCatalog/repository.html

Auch diese Frage im Zusammenhang überprüfen: IRepository Verwirrung auf Objekte zurückgegeben . Ich habe ein ähnliches Mapper verwendet, aber habe es auf der IQueryable Ebene betrieben wird, die in der Lage gemacht hat einige ziemlich interessante Dinge zu tun, während mit dem Domäne-Objekt nach der Abbildung zu arbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top