Dapper.NET Tutorial
Empezando con Dapper.NET
Buscar..
Observaciones
¿Qué es Dapper?
Dapper es un micro-ORM para .Net que extiende su IDbConnection
, simplificando la configuración de consultas, la ejecución y la lectura de resultados.
¿Como lo consigo?
- github: https://github.com/StackExchange/dapper-dot-net
- NuGet: https://www.nuget.org/packages/Dapper
Tareas comunes
Versiones
Versión | Notas | Fecha de lanzamiento |
---|---|---|
1.50.0 | core-clr / asp.net 5.0 compilación contra RTM | 2016-06-29 |
1.42.0 | 2015-05-06 | |
1.40.0 | 2015-04-03 | |
1.30.0 | 2014-08-14 | |
1.20.0 | 2014-05-08 | |
1.10.0 | 2012-06-27 | |
1.0.0 | 2011-04-14 |
Instala Dapper desde Nuget
O bien buscar en la GUI de Visual Studio:
Herramientas> NuGet Package Manager> Administrar paquetes para la solución ... (Visual Studio 2015)
O ejecute este comando en una instancia de Nuget Power Shell para instalar la última versión estable
Install-Package Dapper
O para una versión específica.
Install-Package Dapper -Version 1.42.0
Usando Dapper en C #
using System.Data;
using System.Linq;
using Dapper;
class Program
{
static void Main()
{
using (IDbConnection db = new SqlConnection("Server=myServer;Trusted_Connection=true"))
{
db.Open();
var result = db.Query<string>("SELECT 'Hello World'").Single();
Console.WriteLine(result);
}
}
}
Envolver la conexión en un bloque de Using
cerrará la conexión
Usando Dapper en LINQPad
LINQPad es ideal para probar consultas de bases de datos e incluye la integración de NuGet . Para usar Dapper en LINQPad, presione F4 para abrir las Propiedades de la consulta y luego seleccione Agregar NuGet . Busque dapper dot net y seleccione Agregar a la consulta . También querrá hacer clic en Agregar espacios de nombres y resaltar Dapper para incluir los Métodos de Extensión en su consulta LINQPad.
Una vez que Dapper esté habilitado, puede cambiar el menú desplegable de Idioma al Programa C # , asignar los resultados de la consulta a las clases C # y usar el método .Dump () para inspeccionar los resultados:
void Main()
{
using (IDbConnection db = new SqlConnection("Server=myServer;Trusted_Connection=true")){
db.Open();
var scalar = db.Query<string>("SELECT GETDATE()").SingleOrDefault();
scalar.Dump("This is a string scalar result:");
var results = db.Query<myobject>(@"
SELECT * FROM (
VALUES (1,'one'),
(2,'two'),
(3,'three')
) AS mytable(id,name)");
results.Dump("This is a table mapped to a class:");
}
}
// Define other methods and classes here
class myobject {
public int id { get; set; }
public string name { get; set; }
}
Los resultados al ejecutar el programa se verían así: