Conectar nuestra aplicación .NET a PostgreSQL. Entidades y conectores.

Conectar nuestra aplicación .NET a PostgreSQL. Entidades y conectores.
Sin comentarios Facebook Twitter Flipboard E-mail

Este tutorial está pensado para todos aquellos que deben de salir de la "zona de confort" programando en .NET, al tener que conectar con una base de datos no soportada de forma nativa por Entity framework.

Así revisaré paso a paso cómo conectarme vía ADO.NET y utilizar las funciones más básicas para poder hacer un CRUD (Create, Read, Update y Delete) de una sola tabla sencilla desde una base de datos PostgreSQL.

En este segundo capítulo del tutorial voy a definir las entidades y voy a realizar la conexión; sin olvidar el utilizar test unitarios para probar el código y el funcionamiento.

Esquema de entidades

Lo primero que voy a hacer es una pequeñita capa de entidades, en donde voy a construir las clases que voy a utilizar para transportar la información desde la capa de persistencia a la de negocio o a la de representación.

Si bien en este ejemplo, podría hacerlo todo en un solo fichero dado lo minúsculo del ejemplo, prefiero mantener las buenas prácticas.

Así lo primero es construir una clase Usuario con dos propiedades:

PostgreSQL con .Net

Lo siguiente es añadir una librería open source y gratuita que me permite conectar con PostgreSQL desde .NET y que se llama Npgsql, para lo cual accedo al Gestor de Paquetes Nuget y busco por ese nombre en los paquetes Online.

PostgreSQL con .Net

Una vez localizado, lo instalo y – automáticamente – se me configuran todas las referencias en el proyecto y me puedo disponer a realizar la clase de conexión.

PostgreSQL con .Net

Para ello lo primero, una vez creada la clase ConnectionPostgreSQL, le añado la siguiente referencia: using Npgsql;

Y a continuación creo el método AbreConexion().

PostgreSQL con .Net

¿Qué está sucediendo con este código? Primero instancio un objeto para construir la conexión, seguido de la configuración de la cadena de conexión con los parámetros.

Antes de lanzar la conexión me aseguro que la cadena de conexión no sea ni null, ni vacia ni esté compuesta por espacios en blanco, y así me evito excepciones.

Y por fin realizo la conexión asegurándome, por medio de un try catch que, en caso de un fallo, la conexión no se quede abierta.

Si todo va bien, devuelvo un objeto del tipo NpgsqlConnection, con el que más adelante realizaré las diferentes operaciones.

El test no es opcional

Para ir desarrollando código como el que trato en este tutorial, es imprescindible ir comprobando que las cosas están funcionando como espero y que no falle cuando cambie o añada cosas.

Por ello, pulso con el botón derecho encima del método y construyo un nuevo proyecto de testing, que incluye la clase y el método para probar.

Sin embargo, aún debo añadir la referencia a la librería Npgsl. Para ello obtengo el menú contextual pulsando con el botón derecho encima de la solución, selecciono una vez más el “Gestor de Paquetes Nuget” y selecciono gestionar el paquete Npgsql.

Así, puedo seleccionar el nuevo proyecto de test para instalar el paquete para la conexión con PostgreSQL. Y puedo insertar la referencia en la clase de prueba.

PostgreSQL con .Net

Ahora sí, puedo escribir mi prueba. Y esta revisará si una vez realizada la conexión, su estado es Open.

PostgreSQL con .Net

Es importante no olvidarme de cerrar la conexión, para que un resultado negativo no me deje abierta la misma.

Si lanzo la prueba, obtengo un verde como respuesta. Y así confirmo que me estoy conectando correctamente a la base de datos PostgreSQL

Continuara...

En GenbetaDev | Conectar nuestra aplicación .NET a PostgreSQL. Más información | PostgreSQL, Visual Studio Express 2013, Putty, PgAdmin

Comentarios cerrados
Inicio