Generando Clases en C# .Net con base de datos

Alguna vez nos a tocado crear las clases de las modelo de base de datos, y nos encontramos con una gran cantidad de tablas y realizar una por una estas clases nos demandaría mucho tiempo además que se vuelve algo mecánico, y lo que buscamos es minimizar tiempo en el desarrollo. En uno de los proyecto que estuve tenía que crear las clases para cada tabla donde debían contener los gets sets y los métodos de "crear", "modificar", "eliminar", "buscar por Id" (más conocido como CRUD), es entonces que decidí realizar un programa que me genere automáticamente estas clases con sus respectivos métodos, basados en una arquitectura de desarrollo de la empresa...

El programa está desarrollado en C# y traer los datos de SQL Server 2005, la lógica consiste en:

Primero traerse todas las tablas que contiene nuestra base de datos, para esto realizamos la siguiente consulta sql:


Una vez que se tiene la lista de las tablas debemos saber cuáles son sus campos y qué tipo de datos tienen: para eso debemos hacer la siguiente consulta:

Ahora debemos saber cuál de estos campos es PK, realizamos la siguiente consulta:

Con esto ya tenemos todos los datos para poder generar nuestras clases automáticamente, el siguiente paso es crear nuestras plantillas o la arquitectura que tendrán nuestras clases, por ejemplo mi clase conexion como se genera en el programa:

Indicamos la ruta donde se generan los archivos, e utilizamos StreamWriterpara crear y escribir nuestro archivo:


Nuestro método que tiene la estructura que se escribirá en el archivo.

ejecutando el programa:


Ingresamos el nombre de nuestro servidor, y nos logeamos nos carga la lista de base de datos que tiene y seleccionamos uno de ellos:


Seleccionando la carpeta donde se guardaran los archivos:

Seleccionando las tablas que queremos generar sus clases:


Conclusiones: El objetivos de esto es generar nuestra herramienta que nos faciliten y minimicen tiempo a la hora de desarrollar nuestros programas, ver cual de los procesos es una rutina constante (en este caso crear las clases en basándose en el modelo que se tiene en la base de datos), no importa el lenguaje que se utilice ni el motor de base de datos que se trabaje, se puede crear un programa siguiendo la misma lógica por ejemplo que genere en código en vb.net, java, abap, etc... y la arquitectura del sistema crearlo de acuerdo a la empresa o la forma que trabajamos (crear plantillas para generar los archivos)


Acá les dejo el link de descarga del programa Generador de Clases en C#..

Comentarios

  1. Buena iniciativa, cualquier codigo que facilite la programacion debe ser aplaudido.

    ResponderEliminar
  2. Buen aporte, funciona bien, solo un detalle con las variable de tipo "DateTime y Bit" el tipo de dato lo deja en blanco.

    ResponderEliminar
    Respuestas
    1. ya lo solucione, en el fichero plantilla.cs solo agregar las opciones que faltan.

      Eliminar

Publicar un comentario

Entradas populares de este blog

Ejemplo Aplicacion Web con BSP en SAP

ALV Object Model (cl_salv_table)

Conectar Java con SAP JCO Connector