Mapeo Objeto Relacional (ORM)
Escrito por Martín Malievac   

Los ORM son herramientas de software que me permiten trabajar con los datos persistidos en nuestras bases de datos relacionales como si ellos fueran parte de una base de datos orientada a objetos (virtual).

En aplicaciones estándar, realizadas sobre bases de datos relacionales, la funcion del ORM es transformar un registro en objeto y viceversa, abstrayendonos del uso de ADO.net en pos de realizar operaciones de consulta y persistencia directamente sobre los objetos.

Existen variados componentes que podremos utilizar a tal fin en tecnología .NET (muchos de los cuales son portaciones de componentes existentes en JAVA). A mi juicio, el mas utilizado y el que posee un mayor soporte en la actualidad es NHIbernate (http://www.hibernate.org/343.html), aunque tambien contamos con otros muy buenos como ORM.net o Wilson ORM Mapper. Existen además, herramientas que "encapsulan" un ORM e incorporan funcionalidad adicional como ActiveRecord.net, que utiliza NHibernate para persistir, pero además facilita su uso notablemente evitándonos la realización de archivos de mapeo (necesarios para relacionar nuestras tablas con nuestras clases) e incorpora validaciones diversas sobre nuestras clases. Pueden ver mas sobre este ultimo enel sitio de ActiveRecord.net.

Por ultimo, para concluir con este artículo, podremos decir que consideremos usar un ORM si:

  • Tenemos la posibilidad de diseñar la base de datos, ya que de esa manera, podremos seguir prácticas que facilitarán la interacción ORM-DB.
  • Queremos abstraernos del motor de base de datos (SQL Server, Oracle) y poder cambiarlo sin demasiado inconveniente).

Y evitemos utilizarlo cuando:

  • Recibamos bases de datos que posean caracerísticas tales como tablas con varios campos como clave principal o sin claves primarias y/o foránes, ya que eso podría dificultar el mapeo y las consultas.
  • Necesitemos ejecutar procesos BATCH con millones de registros.

Espero les sea util este, mi primer artículo para 8días.com.
Nos leemos en breve, y no duden en postear si les han quedado dudas o inquietudes.

Saludos.

Martín Malievac

 

Espacio publicitario

Links destacados:
Ermes
Ermes consulting, el socio estratégico para los negocios de alto rendimiento.
Incidencia
Incidencia.net, la consultora de Recursos Humanos estratégicos en Argentina.
Slashdot
Slashdot, News for nerds, stuff that matters...
Gantthead.com
Gantthead, el sitio en ingles mas completo para los Project Managers.