Dapper ORM IDbConnection 인터페이스를 확장 할 NuGet 라이브러리
멋진 확장 기능!

string sql = "SELECT * FROM Invoices";

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

Dapper FAQ



Dapper가 ORM입니까?

예, 아니오! 사람들은 여전히 그것에 대해 논쟁 중이다. Dapper는 C # Micro ORM의 왕이라는 칭호를 얻었지만 여러 사람이 .NET의 간단한 개체 매퍼로 간주합니다.



Dapper는 Entity Framework보다 나은가요?

예, 아니오! 사람들은 최적의 성능으로 SQL 쿼리를 직접 작성하고자 할 때 Dapper를 선호합니다.



Dapper SQL Injections는 안전한가요?

그렇습니다. 항상 매개 변수가있는 쿼리를 사용하면 100 % 안전합니다.



Dapper가 대량 삽입을 지원합니까?

아니요.하지만 써드 파티 라이브러리는 Dapper Plus 입니다. Dapper를 모든 대량 작업으로 확장하는 주요 라이브러리입니다.

Learn More


Do Dapper가 내 데이터베이스 제공 업체를 지원합니까?

아마 Dapper가 IDbConnection 인터페이스를 확장 한 이후로 그렇습니다. 데이터베이스 제공 업체와 호환되는 SQL을 작성하는 것은 귀하의 임무입니다.



Dapper가 거래를 지원합니까?

예, Dapper 지원 트랜잭션 및이를 사용할 수있는 모든 메소드에는이를 지정하는 선택적 매개 변수가 있습니다.


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