JorgeOrtiz’s Weblog

Usando Subsonic – Preparando la Base de datos y generando las clases.

Posted by: jorgeortiz1 on: December 15, 2008

Subsonic es una interesante solución al típico problema de gestión de objetos básico, Subsonic hace un mapeo partiendo de las tablas de la base de datos y crea los objetos correspondientes, además de la colección de cada uno de ellos y un controlador, todos estos con una serie de métodos comunes listos para utilizar.

La primera tarea entonces es la preparación de la base de datos, he aquí unos consejos útiles.

  • iniciar los nombres de los campos con minúsculas
  • No redundar en el nombre de los campos y el nombre de la tabla Ej: si el nombre de la tabla es Facultad, el identificador seria id, y el nombre de la facultad seria nombre; la mala practica es utilizar idFacultad e nombreFacultad, lo cual es una redundancia ya que como resultado del mapeo tendríamos un objeto Facultad y para acceder a un atributo de tal objeto seria Facultad.idFacultad lo cual es redundar, es mas claro Facultad.id y Facultad.nombre.
  • Los nombres en las tablas deben ser en singular
  • Los nombres de las tablas no deben tener signos como _
  • Todas las tablas deben tener un identificador primario único, preferiblemente entero e identity.
  • Para el caso de aquellas tablas que surgen de las relaciones muchos a muchos y que tienen claves compuestas, se mantienen las llaves foráneas pero se quita la clave primaria compuesta, adicionando el identificador primario único autonumérico. y para mantener la integridad de la antigua clave compuesta se adiciona un índice único compuesto por los identificadores que antes hacían parte de la clave primaria compuesta.

Mirar otras convenciones de la base de datos en :

http://subsonicproject.com/setup/subsonic-conventions/

Cuando la Base de datos cumple con las convenciones mínimas, se procede a la creación de las clases y la integración de las mismas en el proyecto.

Ver el siguiente vídeo donde se muestra como es la generación de las clases (las líneas adicionales que debe tener el web.config para que sea posible la generación, además de la integración de subsonic a visual studio)

http://www.wekeroad.com/webcasts/subsonicintro/intro.html

Tags:

Leave a Reply