Dapper.NETDémarrer avec Dapper.NET


Remarques

Qu'est ce que Dapper?

Dapper est un micro-ORM pour .Net qui étend votre IDbConnection , simplifiant la configuration, l'exécution et la lecture des résultats.

Comment puis-je l'obtenir?

Tâches communes

Versions

Version Remarques Date de sortie
1,50.0 core-clr / asp.net 5.0 contre 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

Installer Dapper à partir de Nuget

Soit la recherche dans l'interface graphique de Visual Studio:

Outils> Gestionnaire de packages NuGet> Gérer les packages pour solution ... (Visual Studio 2015)

capture d'écran de l'interface du gestionnaire de packages Visual Studio avec Dapper sélectionné

Ou exécutez cette commande dans une instance Nuget Power Shell pour installer la dernière version stable

Install-Package Dapper
 

Ou pour une version spécifique

Install-Package Dapper -Version 1.42.0
 

Utiliser 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);
        }
    }
}
 

Envelopper la connexion dans un bloc Using va fermer la connexion

Utiliser Dapper dans LINQPad

LINQPad est idéal pour tester les requêtes de base de données et inclut l' intégration de NuGet . Pour utiliser Dapper dans LINQPad, appuyez sur F4 pour ouvrir les propriétés de la requête, puis sélectionnez Ajouter NuGet . Recherchez dapper dot net et sélectionnez Ajouter à la requête . Vous souhaiterez également cliquer sur Ajouter des espaces de noms et mettre en surbrillance Dapper pour inclure les méthodes d'extension dans votre requête LINQPad.

Une fois que Dapper est activé, vous pouvez modifier la liste déroulante Langue en Programme C #, associer les résultats de la requête aux classes C # et utiliser la méthode .Dump () pour inspecter les résultats:

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; }
}
 

Les résultats lors de l'exécution du programme ressembleraient à ceci:

Capture d'écran LINQPad