Dapper ORM Eine NuGet-Bibliothek, die Ihre IDbConnection-Schnittstelle erweitert
mit großartigen Erweiterungen!

string sql = "SELECT * FROM Invoices";

using (var conn = My.ConnectionFactory())
{
    var invoices = conn.Query<Invoice>(sql);
}

Dapper FAQ



Ist Dapper ein ORM?

Ja und nein! Die Leute streiten sich immer noch darüber. Dapper hat den Titel des Königs des C # Micro-ORM erworben, wird jedoch von mehreren Personen als einfacher Objekt-Mapper für .NET betrachtet.



Ist Dapper besser als Entity Framework?

Ja und nein! Die Leute bevorzugen Dapper, wenn sie die SQL-Abfrage mit optimaler Leistung selbst schreiben möchten.



Ist Dapper SQL Injections sicher?

Ja, es ist 100% sicher, wenn Sie parametrisierte Abfragen verwenden, wie Sie es immer tun sollten!



Unterstützt Dapper Bulk Insert?

Nein, aber eine Bibliothek eines Drittanbieters: Dapper Plus . Es ist eine erstklassige Bibliothek, die Dapper mit allen Massenvorgängen erweitert.

Learn More


Unterstützt Dapper meinen Datenbankanbieter?

Wahrscheinlich ja, da Dapper Erweiterungen für die IDbConnection-Schnittstelle bietet. Es ist Ihre Aufgabe, die mit Ihrem Datenbankanbieter kompatible SQL zu schreiben.



Unterstützt Dapper Transaction?

Ja, Dapper-Supporttransaktion und jede Methode, die eine verwenden kann, verfügt über einen optionalen Parameter, um sie anzugeben.


Dapper Features

Dapper - Execute

Execute a command one or multiple times and return the number of affected rows.

  • Stored Procedure
  • INSERT statement
  • UPDATE statement
  • DELETE statement
Dapper - Execute Example
string sql = "INSERT INTO Customers (CustomerName) Values (@CustomerName);";

using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
{
      var affectedRows = connection.Execute(sql, new {CustomerName = "Mark"});

      Console.WriteLine(affectedRows);
   
      var customer = connection.Query<Customer>("Select * FROM CUSTOMERS WHERE CustomerName = 'Mark'").ToList();
   
      FiddleHelper.WriteTable(customer);
}

Try it

Dapper - Query

Execute a query and map the result.

Dapper - Query Example
string sql = "SELECT TOP 10 * FROM OrderDetails";

using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
{
      var orderDetails = connection.Query<OrderDetail>(sql).ToList();
      
      FiddleHelper.WriteTable(orderDetails);
}

Try it

Dapper - Parameters

Use parameter in your Dapper query.

Dapper - Parameter Example
string sql = "INSERT INTO Customers (CustomerName) Values (@CustomerName);";

using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
{

      var affectedRows = connection.Execute(sql, new {CustomerName = "Mark"});

      Console.WriteLine(affectedRows);
   
      var customer = connection.Query<Customer>("Select * FROM CUSTOMERS WHERE CustomerName = 'Mark'").ToList();
      
      FiddleHelper.WriteTable(customer);
}

Try it

Dapper - Result

Map the query result to different types.

Dapper - Result Example
string sql = "SELECT TOP 10 * FROM OrderDetails";

using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
{   
      var orderDetails = connection.Query<OrderDetail>(sql).ToList();

      Console.WriteLine(orderDetails.Count);
      
      FiddleHelper.WriteTable(orderDetails);
}

Try it

Consulting

Your company requires some custom solution to extend Dapper with more features?

Contact us to learn about our consultation services:
info@zzzprojects.com

You can also find some answers/ help:

Stack Overflow Issue tracker