Dapper - SQL
Tratando de mejorar el rendimiento de una aplicación
encontré este framework buscando alternativas a Entity Framework. Algunos queries
que se crean con EF son complejos y demandan cierto rendimiento de la aplicación.
Después de comprar algunos resultados haciendo
las mismas consultas entre EF y Dapper se encuentran cosas interesantes como
que se reduce la cantidad de recursos con Dapper. Cada uno de los queries que
se crearon redujeron su tamaño en memoria, cargando los mismos datos.
Dapper lo que hace es mapear los resultados de
las consultas de SQL en objetos de C#, los cuales luego se pueden utilizar para
hacer cualquier otra cosa que se quiera.
Vamos a ver como utilizarlo creando un proyecto
y una base de datos de SQLite.
Ahora lo que tenemos que hacer es crear una
tabla en la nueva base de datos de SQLite
Vamos a usar una única table con 4 registros
para nuestro ejemplo.
Lo que debemos hacer ahora es una clase POCO
con las propiedades de la tabla. En nuestro ejemplo solo ocupamos el id y el producto.
Con esto ya podemos mapear nuestros datos a una clase POCO.
Tenemos que utilizar las librerías que instalamos y algunas otras. Como se puede ver hacemos un using de Dapper.
El código para las consultas lo vamos a hacer en
la clase Main
Como se puede ver en el primero script hacemos un SELECT de todos los datos que tenemos. Creamos la conexión de SQLite para poder hacer la consulta de datos. Luego simplemente usamos la clase POCO para correr y mapear los datos resultantes del Query. Luego como se puede ver en el ciclo for los datos se pueden manipular fácilmente.
Pero también tenemos la opción de pasar parámetros
a las consultas de SQL. Como se ve en el siguiente ejemplo tenemos el parámetro
@id el cual es la llave de nuestra tabla. En este caso solo se va a retornar un
solo dato.
Para poder pasar los parámetros se pasan con el query y el nombre de los parámetros con el valor que se necesita.
Dapper es un Framework simple pero poderoso
para poder cargar los datos de las bases de datos a objetos de POCO. Este, además,
requiere de menos memoria que EF. Por otro lado, nos permite utilizar lenguaje
de SQL para hacer las consultas que en lo personal me parece más fácil para
consultar las bases de datos SQL.
Puede encontrar más información aquí
Etiquetas: .netcore, C#, EntityFramework, SQL
0 comentarios:
Publicar un comentario
Suscribirse a Enviar comentarios [Atom]
<< Inicio