Thực tiễn tốt là có nhiều lớp XXX : DbContext
cho mỗi phần chính của ứng dụng web (xem đây là một phần lớn có ít nhất 50 bảng trong cơ sở dữ liệu của nó) không? Ví dụ: MembershipContext, BlogContext, StoreContext vv Hoặc thuận tiện hơn để có một đơn DatabaseContext
cho tất cả các công cụ liên quan đến truy cập db.Nhiều lớp DbContext cho một ứng dụng web duy nhất. Tốt hay xấu?
Trả lời
Sử dụng nhiều lớp DbContext ngụ ý làm phức tạp các giao dịch chéo (bạn có thể tìm giải pháp cho vấn đề này trên web ở đây ví dụ http://pastebin.com/YEDqyH0n) nhưng có thể được biện minh. Tất cả phụ thuộc vào kiến trúc của bạn và sự tách biệt mà bạn muốn thiết kế.
Dù sao thì bạn cũng nên xem xét các mẫu Kho lưu trữ và UnitOfWork để có một lớp tóm tắt về cách sử dụng DbContexts của bạn. Hãy xem tại đây: Multiple DbContexts in N-Tier Application và tại đây EF and repository pattern - ending up with multiple DbContexts in one controller - any issues (performance, data integrity)? nếu bạn sử dụng ASP.NET MVC.
Đối với 50 bảng, tôi cho rằng có thể hợp lý để có nhiều DbContexts. Vì vậy, tôi khuyên bạn nên sử dụng nhiều DbContexts. Nhưng bạn nên bọc chúng bằng cách sử dụng các mẫu Repository và UnitOfWork để độc lập với việc thực hiện thực tế trong các lớp khác (như thế này bạn có thể dễ dàng thay đổi ý định của bạn sau này và chỉ sử dụng một DbContext signle chẳng hạn).
Tôi hy vọng điều đó sẽ hữu ích.
- 1. OOP tốt hay xấu?
- 2. Có một điểm vào duy nhất cho một trang web. Xấu? Tốt chứ? Không phải vấn đề?
- 3. Một BaseModel trong PHP MVC, tốt hay xấu?
- 4. Chiến lược kết nối hồ bơi: Tốt, Xấu hay Xấu xí?
- 5. Tại sao có nhiều lớp DbContext?
- 6. Một hoặc nhiều servlet cho mỗi ứng dụng web?
- 7. Đối tượng khỏa thân. Tốt hay xấu
- 8. Cách tốt nhất để duy trì một tập tin cấu hình cho ứng dụng java
- 9. Thực tiễn tốt nhất cho các ứng dụng Web ASP.NET MVC (MEF, Vùng, DI)
- 10. ASP MVC HTML Helpers - Tốt hay Xấu?
- 11. Các ứng dụng có nhiều DLL là một điều xấu?
- 12. Cách tốt nhất để viết ứng dụng duyệt web có thể duy trì là gì?
- 13. Có đặc điểm tốt hay xấu?
- 14. luôn @ * chặn với một bài tập không chặn duy nhất - tốt, xấu hoặc không liên quan?
- 15. Grails lớp miền: hạn chế duy nhất cho nhiều cột
- 16. ứng dụng cho một thiết bị duy nhất cụ thể
- 17. mvc 4 api web cho nhiều ứng dụng
- 18. Thực tiễn tốt nhất về ứng dụng web Javascript
- 19. Máy chủ web/Servlet tốt cho ứng dụng web Clojure?
- 20. thực hành tốt nhất cho một ứng dụng Qt với nhiều UIS trong C++
- 21. Thực tiễn tốt nhất để lưu trữ dữ liệu tạm thời cho một ứng dụng web
- 22. Thực hành tốt nhất để sử dụng Drools Expert/Flow trong một ứng dụng Web
- 23. Nhiều DbContext, nhiều Database.SetInitializer
- 24. Nhiều biểu mẫu có trường nhập liệu có cùng tên thuộc tính? Tốt hay xấu?
- 25. MVC Các khu vực dành cho doanh nghiệp - tốt hay xấu?
- 26. Cách sử dụng NSCache tốt nhất trên một ứng dụng
- 27. Triển khai nhiều ứng dụng cho một cá thể EC2 duy nhất sử dụng AWS Elastic Beanstalk
- 28. Jersey @Path cho số nhiều/danh từ REST của duy nhất trong cùng một lớp
- 29. Các phương pháp hay nhất cho quy trình làm việc của ứng dụng web?
- 30. Tắt Chế độ tương thích IE8, Tốt hay Xấu?
DbContext đã triển khai các mẫu Kho lưu trữ và Đơn vị công việc! –