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í
Oh my goodness! a tremendous article dude. Thank you However I am experiencing subject with ur rss . Don抰 know why Unable to subscribe to it. Is there anyone getting identical rss downside? Anyone who knows kindly respond. Thnkx
I have been surfing online more than three hours today, yet I never found any interesting article like yours. It is pretty worth enough for me. In my view, if all website owners and bloggers made good content as you did, the internet will be much more useful than ever before.
Magnificent web site. Plenty of useful information here. I am sending it to several pals ans also sharing in delicious. And of course, thank you in your effort!
Its like you read my mind! You seem to know a lot about this, like you wrote the book in it or something. I think that you can do with some pics to drive the message home a little bit, but other than that, this is excellent blog. An excellent read. I’ll certainly be back.