Estoy desarrollando una aplicación de escritorio de WPF que utiliza Entity Framework 4 y SQL compacto 4. He visto dos estilos distintos de Repository
clases:EF4: ObjectContext Lifetime?
El
Repository
instancia unObjectContext
, que está dispuesto de cuando elRepository
es recogido de basura La duración delObjectContext
es la misma que la duración de la aplicación.Una clase
DataStoreManager
separada crea y contiene unObjectContext
durante la vida de la aplicación. Cuando se necesita un repositorio, un comando obtiene una referenciaObjectContext
delDataStoreManager
y lo pasa al constructor para el Nuevo repositorio. La vida útil deObjectContext
es la duración de la aplicación.
¿Alguno de los enfoques es considerado una mala práctica? ¿Presenta alguna ventaja absoluta sobre la otra? ¿Se considera que ambos enfoques son la mejor práctica? ¿Es más ampliamente aceptado o utilizado por los desarrolladores que el otro? Gracias por tu ayuda.
El segundo enfoque se puede llamar anti patrón. Verifique mi respuesta aquí: http://stackoverflow.com/questions/3653009/entity-framework-and-connection-pooling/3653392#3653392 –