Kiến thức

Tìm hiểu Dapper Micro ORM và sử dụng trong ASP.NET Core Web API

1. Khái niệm về ORM

ORM (Object Relational Mapping) là một Framwork được xây dựng để liên kết các bảng trong database với các đối tượng trong ứng dụng. 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 sau

2. Dapper là gì?

  • Dapper là một Micro ORM là một thư viện xây dựng trên nền ADO.NET. Nói một cách khác Dapper là một thư viện mở rộng của ADO.NET (extend của lớp IDbConnection) tuy nhiên lại được bổ sung thêm các tính năng của ORM.
  • Được phát triển bới các developer của StackExchange dưới dạng phần mềm mã nguồn mở.
  • Nó được thiết kế để truy cập các cơ sở dữ liệu quan hệ sao cho có hiệu năng tốt nhất.
  • Nó nhỏ gọn hơn nhiều so với Entity Framework nên gọi là Micro ORM.

3. Lý do 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
  • Multiple Query Support.
  • Support for Stored Procedure.
  • Bulk Data insert functionality.
  • Dapper also allows fetching multiple data based on multiple inputs
Chuyên gia chia sẻ  4 LÝ DO DOANH NGHIỆP NÊN ĐÀO TẠO ĐỘI NGŨ CORE TEAM NGAY TỪ HÔM NAY

So sánh hiệu năng Dapper với các Framework ORM khác

alt text

So sánh hiệu năng Dapper với Entity Framework Core

4. Các phương thức mở rộng trong Dapper

Dapper mở rộng từ giao diện IDbConnection với rất nhiều các phương thức:

  • Execute – an extension method that we use to execute a command one or multiple times and return the number of affected rows
  • Query – with this extension method we can execute a query and map the result
  • QueryFirst – it executes a query and maps the first result
  • QueryFirstOrDefault – we use this method to execute a query and map the first result, or a default value if the sequence contains no elements
  • QuerySingle – an extension method that can execute a query and map the result. It throws an exception if there is not exactly one element in the sequence
  • QuerySingleOrDefault – executes a query and maps the result, or a default value if the sequence is empty. It throws an exception if there is more than one element in the sequence
  • QueryMultiple – an extension method that executes multiple queries within the same command and map results

Ngoài ra Dapper cũng cung cấp tất cả các phương thức bất động bộ tương ứng ((ExecuteAsync, QueryAsync, QueryFirstAsync, QueryFirstOrDefaultAsync, QuerySingleAsync, QuerySingleOrDefaultAsync, QueryMultipleAsync).

5. Demo sử dụng Dapper trong ASP.NET Core Web API

– Chuẩn bị cơ ở dữ liệu

– Tạo cấu trúc dự án

– Cài Dapper và các thư viện cần thiết

– Code các thành phần

Link download source code (Google Drive)

Video demo (đang quay)

Chuyên gia chia sẻ  BORED ĐI VỚI GIỚI TỪ GÌ? HIỂU ĐÚNG VỀ BORED TRONG TIẾNG ANH

thay lời cảm ơn!

Đánh giá bài viết post

Phạm Văn Sỹ

Tôi là Phạm Văn Sỹ chuyên gia uy tín trong lĩnh vực kinh tế và kinh doanh là sinh viên của trường Đại học Ngoại Thương. Với kiến thức sâu rộng sau 12 năm ở bên ngoài thương trường thị trường tôi mong muốn chia sẻ các kiến thức chuyên sâu hữu ích dành cho mọi người.

Related Articles

Back to top button