Dapper.NET Samouczek
Rozpoczęcie pracy z Dapper.NET
Szukaj…
Uwagi
Co to jest Dapper?
Dapper to mikro-ORM dla .Net, który rozszerza twoje IDbConnection
, upraszczając konfigurację zapytań, wykonywanie i czytanie wyników.
Jak mogę to dostać?
- github: https://github.com/StackExchange/dapper-dot-net
- NuGet: https://www.nuget.org/packages/Dapper
Zwykłe zadania
Wersje
Wersja | Notatki | Data wydania |
---|---|---|
1,50,0 | kompilacja core-clr / asp.net 5.0 przeciwko RTM | 29.06.2016 |
1.42.0 | 2015-05-06 | |
1.40.0 | 2015-04-03 | |
1.30.0 | 14.08.2014 | |
1.20.0 | 08.05.2014 | |
1.10.0 | 27.06.2012 | |
1.0.0 | 14.04.2011 |
Zainstaluj Dapper z Nuget
Wyszukaj w graficznym interfejsie graficznym Visual Studio:
Narzędzia> Menedżer pakietów NuGet> Zarządzaj pakietami dla rozwiązania ... (Visual Studio 2015)
Lub uruchom to polecenie w instancji Nuget Power Shell, aby zainstalować najnowszą stabilną wersję
Install-Package Dapper
Lub dla konkretnej wersji
Install-Package Dapper -Version 1.42.0
Korzystanie z Dappera w 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);
}
}
}
Zawijanie połączenia w bloku Using
spowoduje zamknięcie połączenia
Korzystanie z Dappera w LINQPad
LINQPad doskonale nadaje się do testowania zapytań do baz danych i obejmuje integrację NuGet . Aby użyć Dappera w LINQPad, naciśnij F4, aby otworzyć Właściwości zapytania, a następnie wybierz Dodaj NuGet . Wyszukaj eleganckie kropki i wybierz Dodaj do zapytania . Będziesz także chciał kliknąć Dodaj przestrzenie nazw i wyróżnić Dapper, aby uwzględnić Metody rozszerzeń w zapytaniu LINQPad.
Po włączeniu Dappera możesz zmienić listę rozwijaną Język na Program C # , odwzorować wyniki zapytań na klasy C # i użyć metody .Dump () do sprawdzenia wyników:
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; }
}
Wyniki podczas wykonywania programu wyglądałyby następująco: