Dapper.NET Tutorial
Iniziare con Dapper.NET
Ricerca…
Osservazioni
Cos'è Dapper?
Dapper è un micro-ORM per .Net che estende l' IDbConnection
, semplificando l'impostazione della query, l'esecuzione e la lettura dei risultati.
Come lo ottengo?
- github: https://github.com/StackExchange/dapper-dot-net
- NuGet: https://www.nuget.org/packages/Dapper
Attività comuni
Versioni
Versione | Gli appunti | Data di rilascio |
---|---|---|
1.50.0 | core-clr / asp.net 5.0 build contro 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 |
Installa Dapper da Nuget
Cerca nella GUI di Visual Studio:
Strumenti> NuGet Package Manager> Gestisci pacchetti per la soluzione ... (Visual Studio 2015)
Oppure esegui questo comando in un'istanza di Nuget Power Shell per installare l'ultima versione stabile
Install-Package Dapper
O per una versione specifica
Install-Package Dapper -Version 1.42.0
Usando Dapper in 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);
}
}
}
Il wrapping della connessione in un blocco Using
chiuderà la connessione
Utilizzo di Dapper in LINQPad
LINQPad è ottimo per testare le query del database e include l'integrazione NuGet . Per utilizzare Dapper in LINQPad premere F4 per aprire Proprietà query, quindi selezionare Aggiungi NuGet . Cerca net dot dapper e seleziona Aggiungi a query . Dovrai anche fare clic su Aggiungi spazi dei nomi ed evidenziare Dapper per includere i Metodi di estensione nella query LINQPad.
Una volta abilitato Dapper è possibile modificare il menu a discesa Lingua in C # , mappare i risultati delle query in classi C # e utilizzare il metodo .Dump () per ispezionare i risultati:
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; }
}
I risultati durante l'esecuzione del programma sarebbero simili a questi: