"Mapeando" de procedimientos almacenados a clases en C#


Hace rato, mientras no tenía clase me dispuse a escribir un pequeño programita para facilitarme la vida con algo (asquerosamente tedioso) que tenía que hacer. Y es que lo que tenía que hacer hasta parece arcaíco: Se trata de hacer consultas desde una aplicación web a una base de datos mediante procedimientos almacenados, para ello hay que generar una clase asociada al procedimiento para facilitar la persistencia de los datos dentro de la aplicación.

Hay consultas enoooooooooooooooooooooormes, inclusive hay algunas de más de 20 o 30 columnas lo cual representa perder mucho tiempo creando la clase asociada, aunque a decir verdad yo no lo hago por el tiempo, sino por el aburrimiento que representa hacerlo. Acá mi propuesta de solución:

La idea que se me ocurrió fue colocarles una especie de "clave" para conocer el tipo de dato de cada columna así como el nombre que usaría para ella dentro de la aplicación. La clave elegida fue: --|tipo de dato|nombre dentro de la aplicación  dada la facilidad con la que una cadena de ese tipo es fácilmente encontrable usando expresiones regulares, para ello se requiere del siguiente patrón: --\|[a-zA-Z0-9]+\|[a-zA-Z0-9]+. Además en el programa usé una plantilla de texto T4 para generar el código, esas plantillas son útiles para generar código como en esta ocasión, el ejemplo es sencillo y fácil de entender.

Colgué el proyecto completo en GitHub para que todos pudieran descargarlo, yo pienso que le seguiré añadiendo funcionalidad conforme la vaya necesitando (hasta que me aburra de hacer otra cosa :P).

¡Saludos!
@fferegrino :)

1 comment:

  1. Échale una revisión a la adición de modelos a la solución. http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model

    ReplyDelete

¡Hey, gracias por tu comentario! No seas anónimo, inicia sesión para que te responda más fácilmente.