Welche Rolle spielt der Kontext in EF? Muss ich das Repository-Muster verwenden? Denn in meinem Verständnis des Kontexts ist es bereits Repository. Dies ist eine Abstraktion des Ladens oder liege ich falsch?Welche Rolle spielt der Kontext in EF?
Antwort
Dies wird stark diskutiert, so betrachten Sie die folgenden als "eine Antwort".
Der Kontext in EF ist eine Arbeitseinheit, in der die DbSets die Repositories sind. Zusammen bilden sie eine Abstraktion über eine Datenbank. Die SaveChanges-Methode schreibt alle an jedem Repository vorgenommenen Änderungen fest.
Es gibt viele Beispiele, in denen Personen das Repository-Muster verwenden, um ein IRepository zu erstellen, das intern einen Kontext/DbSet verwendet. Aber auf diese Weise sind Sie:
- eine Abstraktion über eine Abstraktion zu schaffen
- verlieren Funktionalität von EF, da Ihre Schnittstelle verbirgt die Implementierung
Der Grund, warum Sie diese zusätzliche Abstraktion schaffen würde, ist, dass Sie Austauschen von EF für etwas anderes, sagen Sie eine andere Datenbank/Speicher. Aber ich glaube, yagni ist hier vorhanden. Wenn Sie ein Projekt starten, das auf eine SQL-Datenbank abzielt, wie hoch ist die Wahrscheinlichkeit, dass Ihr Kunde zum Beispiel zu Oracle wechselt?
Hoffe, das hilft.
- 1. Welche Rolle spielt types.generated.go in kubernetes?
- 2. Welche Rolle spielt die ng-app-Direktive?
- 3. Welche Rolle spielt der Cache beim Schreiben in den Speicher?
- 4. Welche Rolle spielt die Kategorisierung in der Datenbank?
- 5. Lazy Loading in EF 5.0 Beta 2 spielt keine Rolle?
- 6. Welche Übereinstimmung mit der Einrückungsregel spielt hier eine Rolle?
- 7. OpenGL - Welche Rolle spielt eine Eckpunktnormale in Punktlichtberechnungen?
- 8. Welche Rolle spielt eine Datenbank in einer Redux-Anwendung?
- 9. Welche Rolle spielt Magic Number beim Booten von Linux?
- 10. Welche Rolle spielt das ClaimsPrincipal, warum hat es mehrere Identitäten?
- 11. Überladungsauflösung: Welche Rolle spielt die explizite und die Initialisierungssyntax?
- 12. Welche Rolle spielt die Model.xafml-Datei in der DevExpress XAF-Anwendung
- 13. Deref innerhalb einer Transaktion kann einen Wiederholungsversuch auslösen - welche Rolle spielt der ref-Statusverlauf?
- 14. Warum "synchronisiert" keine Rolle im Polymorphismus spielt
- 15. Rolle von [:] in numpy
- 16. TYPEDEF PTR - Größe spielt keine Rolle?
- 17. Welche Rolle spielt GetHashCode im IEqualityComparer <T> in .NET?
- 18. Welche Rolle spielt die Middleware zum Überschreiben von Methoden in Express 4?
- 19. Warum ist mein Index undefiniert, und spielt es eine Rolle?
- 20. Spielt die Zielreihenfolge in Kernel-Build-Makefiles eine Rolle?
- 21. In Java spielt die Reihenfolge von InputStream eine Rolle?
- 22. Spielt es eine Rolle, wann Super in Dealloc aufgerufen wird?
- 23. Welche Rolle spielt die Spalte "IS CLOSED" im Transaktionsbereich von Magento?
- 24. Welche Einstellung bewirkt, dass der ContextLoaderListener-Kontext (Stammkontext) der ContextLoaderListener-Kontext über den DispatcherServlet-Kontext ist?
- 25. EF nicht Entität aus Kontext abrufen
- 26. Wie IDbConnection zu EF Kontext übergeben?
- 27. EF Mehrere Datenbanken mit einem Kontext
- 28. EF-Code First Independent Datenbank mehr Kontext
- 29. Service Provider, der Speicher für transienten EF-Kontext nicht freigibt
- 30. JavaFX Auswahl Text aus der zweiten Spalte spielt keine Rolle wo in der Zeile geklickt wird
Meine Meinung ist die gleiche wie Ihre. Und ich denke, dass das Repository Abstraktion über die EF selbst machen wird? –