Dapper.NET Handledning
Komma igång med Dapper.NET
Sök…
Anmärkningar
Vad är Dapper?
Dapper är en mikro-ORM för .Net som utökar din IDbConnection
, vilket förenklar frågeställning, körning och resultatläsning.
Hur får jag det?
- github: https://github.com/StackExchange/dapper-dot-net
- NuGet: https://www.nuget.org/packages/Dapper
Vanliga uppgifter
versioner
Version | anteckningar | Utgivningsdatum |
---|---|---|
1.50.0 | core-clr / asp.net 5.0 bygga mot 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 |
Installera Dapper från Nuget
Antingen söker du i Visual Studio GUI:
Verktyg> NuGet Package Manager> Hantera paket för lösning ... (Visual Studio 2015)
Eller kör detta kommando i en Nuget Power Shell-instans för att installera den senaste stabila versionen
Install-Package Dapper
Eller för en specifik version
Install-Package Dapper -Version 1.42.0
Använda Dapper i 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);
}
}
}
Om du kopplar in anslutningen i ett Using
stängs anslutningen
Använda Dapper i LINQPad
LINQPad är utmärkt för att testa databasfrågor och inkluderar NuGet-integration . För att använda Dapper i LINQPad trycker du på F4 för att öppna frågaegenskaperna och väljer sedan Lägg till NuGet . Sök efter dapper dot net och välj Lägg till i fråga . Du vill också klicka på Lägg till namnutrymmen och markera Dapper för att inkludera förlängningsmetoderna i din LINQPad-fråga.
När Dapper är aktiverat kan du ändra språket till C # -program , kartföra resultat till C # -klasser och använda metoden .Dump () för att inspektera resultaten:
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; }
}
Resultaten när programmet körs skulle se ut så här: