Dapper C# là gì? Micro ORM trong .NET – Hành trang Lập trình blog

ORM là gì?

  • Là viết tắt của Object Relational Mapping, nó được xây dựng để liên kết các bảng trên database với các đối tượng trong project.
  • Có 2 cách tiếp cận ORM:
    • Code First: Viết mã đối tượng trước, sinh database sau
    • Database First: Xây dựng database trước, sinh đối tượng sau từ database

Dapper là gì?



  • Dapper là một Micro ORM, (micro để phân biệt với các ORM được xây xây dựng bới các hãng lớn và có nhiều chức năng) được phát triển bới các developer của StackExchange (nếu các bạn chưa rõ thì họ sở hữu Stack Overflow) dưới dạng phần mềm mã nguồn mở.
  • Họ thiết kế sao cho nó có hiệu năng cao
  • Được xác nhận bới Sam Saffron
  • Là một trong những yêu cầu cơ bản bới phần mềm truy cập cơ sở dữ liệu quan hệ
  • Nếu chúng ta sử dụng kiến trúc 3 tầng với Data Access Layer (DAL) để lấy dữ liệu từ database và thực hiện các thao tác CRUD (create, read, update, delete)
  • Nếu chúng ra sử dụng Entity Framework (EF) của Microsoft và sau đó sử dụng DBContext để tạo kết nối và lấy dữ liệu từ database
  • Giờ chúng ta sẽ làm quen với một cách đơn giản hơn để truy cập database sử dụng open source orm được gọi là Dapper

Tại sao nên dùng Dapper?

  • Speed and fast in performance.
  • Fewer lines of code.
  • Object Mapper.
  • Static Object Binding.
  • Dynamic Object Binding.
  • Easy Handling of SQL Query.
  • Easy Handling of Stored Procedure.
  • Operating directly to IDBConnection class that provides smoothness and running query directly to the database instead of passing data using various objects as we do in EF and sentayho.com.vn.
  • Multiple Query Support.
  • Support for Stored Procedure.
  • Bulk Data insert functionality.
  • Dapper also allows fetching multiple data based on multiple inputs

So sánh hiệu năng của Dapper với các orm khác.



Sử dụng Dapper như thế nào?

  • Lấy thư viện Dapper
    • Thông qua Nuget với cú pháp: install-package dapper
    • Dapper trên github
  • Dapper làm việc như thế nào?
    • Tạo đối tượng IDBConnection với connection string
    • Viết query và lưu nó như một biến string thông thường
    • Gọi hàm db.Excute() để thực thi câu query
  • Các ví dụ

Các biến cần khỏi tạo:



    • Using thư viện Dapper
    • Chuỗi kết nối
    • Đối tượng IDBConnection

Các bàng trong cở sở dữ liệu

dapperdemo

Các đối tượng tương ứng trong project

    • Contact
    • Address
    • State
    • >
    • Ví dụ 1 – Tạo mới một bản ghi Contact
    • Ví dụ 2 – Lấy tất cả dữ liệu Contact từ database
    • Ví dụ 3 – Tìm Contact theo Id
    • Ví dụ 4 – Xóa Contact
    • Ví dụ 5 – Update Contact
    • Ví dụ 6 – Thêm mới Contact thông qua Procedure

Procedure:

    • Ví dụ 7 – Lấy dữ liệu từ nhiều bảng
    • Ví dụ 8 – Lấy dữ liệu từ nhiều bảng thông qua Procedure

Procedure

Chạy chương trình

Tham khảo: sentayho.com.vn/2015/10/28/gioi-thieu-micro-orm-dapper-c-net/comment-page-1/