Czy dobrą praktyką jest posiadanie wielu klas XXX : DbContext
dla każdej głównej sekcji aplikacji internetowej (biorąc pod uwagę, że jest duża z co najmniej 50 tabelami w swojej bazie danych)? Na przykład: MembershipContext, BlogContext, StoreContext itp. Lub wygodniej jest mieć pojedyncze DatabaseContext
dla wszystkich rzeczy związanych z dostępem do db.Wiele klas DbContext dla pojedynczej aplikacji internetowej. Dobry czy zły?
Odpowiedz
Używanie wielu klas DbContext implikuje skomplikowane transakcje krzyżowe (tutaj można znaleźć rozwiązanie tego problemu w Internecie, na przykład http://pastebin.com/YEDqyH0n), ale może być uzasadnione. Wszystko zależy od architektury i separacji, którą chcesz zaprojektować.
W każdym razie powinieneś spojrzeć na schematy Repozytorium i UnitOfWork, aby mieć warstwę abstrakcji, jak korzystać z DbContexts. Zajrzyj tutaj: Multiple DbContexts in N-Tier Application i tutaj EF and repository pattern - ending up with multiple DbContexts in one controller - any issues (performance, data integrity)?, jeśli używasz ASP.NET MVC.
Dla 50 tabel myślę, że może być uzasadnione posiadanie wielu DbContextów. Polecam więc używanie wielu DbContextów. Ale powinieneś owijać je za pomocą wzorców Repozytorium i UnitOfWork, aby były niezależne od rzeczywistej implementacji w innych warstwach (tak jak można później łatwo zmienić zdanie i używać tylko znaku DbContext).
Mam nadzieję, że to pomaga.
- 1. Dlaczego wiele klas DbContext?
- 2. Korzystanie z kontekstu aplikacji dla pojedynczej wiosny dla aplikacji internetowej
- 3. Wiele wątków aplikacji internetowej
- 4. Odpowiedni back-end dla pojedynczej strony internetowej?
- 5. Wiele maszyn JVM kontra serwer pojedynczej aplikacji
- 6. Czy wiele procesów JVM może współużytkować pamięć dla wspólnych klas?
- 7. Czy ToString() jest dobry, zły, czy po prostu zbędny?
- 8. Konfiguracja połączenia sieciowego w konstruktorze: dobry czy zły?
- 9. Kursory na MySQL - dobry lub zły
- 10. element iframe do ładowania reklamy jest dobry czy zły?
- 11. Emulowanie nazwanych parametrów funkcji w PHP, dobry czy zły pomysł?
- 12. Struktura obiektu DbContext w usłudze internetowej Azure
- 13. MySQL: Wiele wstawek dla pojedynczej kolumny
- 14. Jak pisać testy dla mojej aplikacji internetowej?
- 15. Injecting DbContext do repozytorium biblioteki klas
- 16. Zabezpieczanie WIFI dla aplikacji internetowej
- 17. .NET 4 instancja pojedynczej aplikacji
- 18. Czy DbContext jest kosztowną operacją?
- 19. Architektura dla aplikacji pojedynczej strony (JavaScript)
- 20. addClass - czy można dodać wiele klas na tym samym div?
- 21. Czy mogę mieć wiele tagów rel = "alternate" dla strony internetowej?
- 22. Konwertowanie na bootstrap dla istniejącej aplikacji internetowej
- 23. Czy istnieją standardy nazewnictwa klas CSS dla aplikacji internetowych?
- 24. zawsze blok @ * z pojedynczym niepustującym przydziałem - dobry, zły lub nieistotny?
- 25. Sposób automatycznego wielokrotnego uwierzytelniania plików cookie dla pojedynczej aplikacji
- 26. Załaduj plik (xml) ze ścieżki klas w aplikacji internetowej wiosennej
- 27. Wiele dziedziczenia: Jaki jest dobry przykład?
- 28. Czy klasa Scala może rozszerzać wiele klas?
- 29. Wiosenne wiele klas @Configuration
- 30. Czy jest dobry WikiField dla modeli django?
Kontekst DbContext już implementuje schematy repozytoriów i jednostek pracy! –