¿Es una buena práctica tener múltiples clases XXX : DbContext
para cada sección principal de una aplicación web (considerando que es una gran con al menos 50 tablas en su base de datos)? Por ejemplo: MembershipContext, BlogContext, StoreContext, etc. O es más conveniente tener un solo DatabaseContext
para todas las cosas relacionadas con el acceso a db.Múltiples clases de DbContext para una sola aplicación web. ¿Bueno o malo?
Respuesta
El uso de varias clases de DbContext implica complicar las transacciones cruzadas (aquí puede encontrar una solución a este problema en la web, por ejemplo, http://pastebin.com/YEDqyH0n) pero puede estar justificado. Todo depende de su arquitectura y la separación que desee diseñar.
De todos modos, debe mirar los patrones Repository y UnitOfWork para tener una capa de la descripción de cómo usar sus DbContexts. Mire aquí: Multiple DbContexts in N-Tier Application y aquí EF and repository pattern - ending up with multiple DbContexts in one controller - any issues (performance, data integrity)? si usa ASP.NET MVC.
Para 50 tablas, creo que se justifica tener múltiples DbContexts. Así que recomendaría usar múltiples DbContexts. Pero debe envolverlos usando los patrones Repository y UnitOfWork para que sean independientes de la implementación real en las otras capas (así podría cambiar de opinión más adelante y solo usar un signle DbContext por ejemplo).
Espero que ayude.
- 1. Clases de utilidades .. ¿Bueno o malo?
- 2. Objetos desnudos. Bueno o malo
- 3. PHP Typecasting - ¿Bueno o malo?
- 4. C# String.IsNullOrEmpty: ¿bueno o malo?
- 5. O/R Mappers - Bueno o malo
- 6. ¿Qué clases de problemas es bueno o malo para Clojure para resolver frente a Scala?
- 7. Estrategia de grupo de conexión: bueno, malo o feo?
- 8. ASP MVC HTML Helpers - ¿Bueno o malo?
- 9. Sobrecarga del método: ¿diseño bueno o malo?
- 10. Expresión regular Grupos nombrados: ¿Bueno o malo?
- 11. ¿Usar demasiada estática es malo o bueno?
- 12. ¿ToString() es bueno, malo o simplemente redundante?
- 13. iframe para la carga de anuncios bueno o malo?
- 14. Cursores en MySQL - Bueno o malo
- 15. PHP - Función dentro de una función. ¿Bueno o malo?
- 16. ¿Apagar el modo de compatibilidad IE8, bueno o malo?
- 17. ¿Formas múltiples con campos de entrada con el mismo atributo de nombre? ¿Bueno o malo?
- 18. Entity Framework: SingleConnect ObjectContext: bueno, malo o pensamiento oculto?
- 19. Métodos de extensión: IsNull e IsNotNull, ¿uso bueno o malo?
- 20. Bueno o malo Ejemplos de tecnología Flash/Flex Use
- 21. Un modelo base en PHP MVC, ¿bueno o malo?
- 22. HTML 5 - Adopción temprana donde sea posible - ¿Bueno o malo?
- 23. Usar cadenas en lugar de símbolos: ¿bueno o malo?
- 24. WCF Self hosting en el cliente? Bueno o malo
- 25. Múltiples cuentas de Facebook en una sola aplicación para iPhone
- 26. ¿Cómo crear una sola aplicación SmartTV para múltiples plataformas?
- 27. ¿Es bueno o malo envolverse en el constructor?
- 28. ¿Uno o múltiples servlets por aplicación web?
- 29. php: Almacenar imagen en blob Mysql, ¿Bueno o malo?
- 30. PHP - Convertir todos los errores en excepciones - ¿Bueno o malo?
¡DbContext ya implementa los patrones de repositorio y unidad de trabajo! –