Pregunta

No estoy seguro de cuándo crear instancias de objetos o clases de ayuda estática. Por ejemplo, si llamo a un método para actualizar un modelo de datos y enviarlo a la base de datos, creo una instancia del DataContext. ¿Cuál es la vida útil de ese Datacontext y está bien crear nuevas instancias cada vez que sea necesario realizar nuevas actualizaciones de datos?

En mi controlador, creé una instancia de DataCOntext y reutilizo esa instancia al publicar de nuevo en el controlador, por ejemplo.

¿Fue útil?

Solución

El DataContext es una clase bastante ligera y está destinado a ser utilizado para una unidad de trabajo. Por lo general, paso una Fábrica que creará un DataContext apropiado según sea necesario. Por lo general, envolveré esto en un bloque de uso y convertiré los resultados a una Lista (u otro objeto) para que la consulta se realice en el código del controlador y los objetos resultantes pasen a mi vista. De esta manera, el DataContext puede eliminarse (del bloque de uso) en el método del controlador.

La razón por la que se inyecta una fábrica en el controlador es doble: permite que el DataContext se cree bajo demanda y me permite usar una fábrica que genera un DataContext simulado para las pruebas. Este último me permite evitar usar la base de datos real en mis pruebas unitarias.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top