Data Access Application Block

Data Access Application Block facilita el acceso a datos proporcinado una interface simplificada que nos permite realizar las tareas mas comunes de acceso a datos evitando escribir el ceremonioso código de ADO.NET.
El objeto central, "DataBase", implementa una serie de métodos como ExecuteDataSet, ExecuteReader, ExecuteNonQuery y Update, que permiten realizar consultas y registrar datos en pocas lineas de código. Estos métodos manejan la conexión a la base de datos en forma automática, incluso en contexto de una transacción dado que soportan TransactionScope.

El bloque facilita escribir código portable entre bases de datos. El objeto DataBase es una clase abstracta de la cual heredan implementaciones especificas para cada motor como SQL Sever, Oracle, etc. Usando esta interface común no tenemos que crear instancias de objetos que son específicos de cada base de datos. DataBase utiliza objetos como DbConnection, DbDataReader que son las clases abstractas de .NET de la cual heredan los objetos específicos de cada motor.

Data Access Application Block permite trabajar tanto con instrucciones SQL como procedimientos almacenados. Para estos últimos incorpora un mecanismo de descubrimiento y caching de parámetros.

Por ultimo, el bloque nos entrega funcionalidad para mapear consultas SQL a objetos. El objeto MapBuilder permite indicar que campos de la base de datos se debe asignar a las propiedades de una clase, de esta forma se pueden obtener instancias de objetos directamente de consultas SQL.

En resumen, los beneficios de usar Data Access Application Block son:

  • Evita escribir código repetitivo de ADO.NET simplificando el acceso a la base de datos.
  • Facilita escribir código reutilizable entre diferentes motores de bases de datos.
  • Permite manejar las bases de datos a la cuales se conecta la aplicación desde el archivo de configuración.
  • Facilita el uso de procedimientos almacenados gracias al descubrimiento y caching de parámetros.
  • Facilita el uso de business objects gracias al mapeo de tablas a objetos.
  • Ayuda a estandarizar el código de acceso a datos en un proyecto proporcionando una interface común y practicas comunes que los diversos equipos deben seguir.

Artículos en detalle

Vea tambien