Coinsulta acerca de los DataReaders y aplicaciones de 3 capas.

07/04/2005 - 17:43 por Alvaro R. | Informe spam
Hola a todos...

Tengo una consulta de tipo teórico/práctica que me gustaría que me
aclararan.

Tengo una aplicación dividida en 3 capas. Tengo una función en la capa de
acceso a datos que hace una consulta y devuelve un DataReader. Dicha función
es llamada desde la capa de negocios q a su vez le manda el DataReader a la
capa de Presentación de datos.

La pregunta es la siguiente: ¿ Es correcta esta manera de implementar este
tipo de funcionalidad ? ¿O Debería devolver otro tipo de objeto (Ej.
DataSet)?

¿Que pasa si dentro de esa función por cada fila q me devuelve el DataReader
la cargo en un DataTable y en vez de devolver un Datareader devuelvo ese
DataTable (para evitar tener una conexión abierta), es muy ineficiente?

Desde ya muchas gracias

Alvaro.
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
07/04/2005 - 18:21 | Informe spam
¿ Es correcta esta manera de implementar este tipo de funcionalidad ?



Los DataReaders son los objetos que dan mejor rendimiento pero no es
recomendable pasarlos entre capas ya que requieren una conexion abierta.

¿O Debería devolver otro tipo de objeto (Ej. DataSet)?



Lo recomendable es que uses otro tipo de objeto a menos que requieras
especificamente un datareader. El objeto puede ser un DataSet generico, un
DataSet tipado o clases creadas por ti. Claro que cada uno tiene sus
ventajas y desventajas. Si no quieres complicarte mucho usa datasets
tipados.

Si no tienes problemas con el ingles lee este articulo que explica el paso
de datos entre capas:

http://msdn.microsoft.com/library/e...BOAGag.asp

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
https://mvp.support.microsoft.com/p...4EF5A4191C

Preguntas similares