Dapper Là Gì

  -  

Đối cùng với những xây dựng viên .Net thì chắc rằng là sẽ thừa rất gần gũi cùng với những thỏng viện làm việc với MS Squốc lộ SERVER như thể ADO.NET hoặc Entity Framwork.

Bạn đang xem: Dapper là gì

Cùng điểm lại một vài điều khác nhau thân 2 cái này.

ADO.NET: Để access đên database ta đề xuất sử dụng dataphối, datatable, datareader, datatables, commvà, cùng connection objects.Sử dụng SQL queries hoặc store procedure nhằm thao tác với tài liệu.

Entity Framwork: Là một object relational mapping, sử dụng LinQ để access đến database và query Squốc lộ sẽ được tự động hóa hình thành theo LinQ query.

Sự khác biệt cơ bản duy nhất chính là:

ADO.NET thao tác làm việc bởi những SQL Queries vày vậy hoàn toàn có thể thuận tiện chỉnh sửa, tunning câu sql theo ý thích nhằm cải thiện performance.Tuy nhiên data trả về của ADO.NET là DataTable hay những DataReader, để convert thành các object mã sản phẩm thì nên phảibao gồm thêm một lớp helper trung gian.

Entity framework thao tác cùng với Database thông qua LINQ. LinQ queries đang tự động hóa biên dịch thành các câu Squốc lộ Squery. Vì vậy Việc sửa thay đổi tương tự như chỉnh sửa trực tiếp SQL là khó khăn so với ADO.NET. Tuy nhiên vị là ORM đề nghị dữ liệu trả về sẽ trường đoản cú mộngmapping vào những entity object.

Xem thêm: Tốc Chiến: Hướng Dẫn Khắc Chế Riven Thuần Thục Trong Phiên, Cách Khắc Chế Tướng Riven Mùa 11

Qua so với sinh hoạt bên trên hoàn toàn có thể thấy lấy điểm lợi và sợ. ADO.NET đến performance nhanh rộng. Dễ dàng chỉnh sửa SQL query tuy vậy lại mất thời hạn để mapping, convert tài liệu trả về.Entity framework auto mapping tài liệu mặc dù chỉnh sửa, tunning sql cải thiện performace thì lại khó khăn hơn.

Vậy có tác dụng biện pháp như thế nào nhằm hoàn toàn có thể vừa thao tác với Database bằng các câu sql queries thẳng vừa rất có thể tự động hóa mapping. Câu trả lời đó là Dapper ORM

Dapper là gì ?

Dapper là một trong Object Relational Mapper, nó là 1 trong những tlỗi viện xây dừng trên nền ADO.NET data reader. Nói một phương pháp không giống Dapper là một trong tlỗi viện không ngừng mở rộng của ADO.NET (extover của lớp IDbConnection) tuy nhiên lại được bổ sung thêm các tuấn kiệt của ORM.

Khi sử dụng ADO.NET để để convert datareader thành một object Mã Sản Phẩm bọn họ thường xuyên áp dụng những delegate để thao tác làm việc. Dapper vẫn desgin các method library để tự động thực hiện các Việc này cho chúng ta thông qua các lớp metadata.

Dapper thao tác làm việc như thế nào:

Gồm 3 bước (Về cơ bạn dạng Khi làm việc với Dapper nó vẫn hoàn toàn tương đương với mọi có mang nghỉ ngơi ADO.NET )

1/ Khởi sinh sản một IDbConnection object với tham mê số là 1 trong connection String 2/ Viết Squốc lộ query thực hiện những thao tác làm việc CRUD 3/Truyền SQL quergiống như là một trong ttê mê số vào method của dapper, (Exexinh tươi, Query)Một số Dapper Features

Dapper - Execute

Thực thị câu lệnh 1 hoặc thể những lần.Giá trị trả về là affected rows khi exexinh đẹp thành công xuất sắc.Các câu lệnh có thể truyền vào Method Exexinh đẹp như bên dưới :

Stored Procedure INSERT statement UPDATE statement DELETE statement Dapper - Query

Thực thi 1 câu lệnh Select với Mapping kết quả trả về cùng với objectGiống như Entity Framework Dapper cung cấp những hàm sau để thực thi truy hỏi vấn

QueryFirstQueryFirstOrDefaultQuerySingleQuerySingleOrDefaultQueryMultipleDapper - Parameters

Để truyền parameter mang đến Squốc lộ Queries. Dapper áp dụng 4 bí quyết sau

Anonymous : Anonymous object Dynamic: cần sử dụng DynamicParameters. tương tự như SQL Parameter của ADO.NET List: Truyền vào 1 mảng những quý hiếm. Dùng cho Select với IN String: Dùng DbString để truyền vào dạng text.Đầu vào param của Dapper type là object phải bên cạnh câu hỏi truyền vào 1 svào type ví dụ bạn có thể truyền và 1 anonymous objectNhư vậy khá là thuận với hối hả lúc pass params mà lại không cần thiết phải tạo 1 object type ví dụ.

Xem thêm: Trò Chơi Đánh Móng Tay Trên App Store, Trò Chơi Son Mong Tay

Dapper - Result

Dapper đã trả về các hình trạng tài liệu nhỏng bên dưới

Anonymous: Nếu ko chế độ (ép kiểu) về 1 object rõ ràng làm sao. Dapper đang trả về 1 anonymous object Strongly Typed: Chỉ định object cần được mapping. Dữ liệu trả về đang tự động mapping vào object Multi-Mapping: Sử dụng nhằm mapping tác dụng trả với với các object mã sản phẩm gồm relation ship Multi-Result: Dapper hỗ trợ câu hỏi chạy nhiều select queries cùng 1 câu lệnh. Sử dụng Read nhằm bóc tách dữ liệu mang lại từng object Multi-Type: Dapper hỗ trợ hướng đẫn object Mã Sản Phẩm làm sao sẽ được mapping với công dụng. một số ví dụ :

string sql = "INSERT INTO Customers (CustomerName) Values (
CustomerName);";using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools())){connection.Open();var affectedRows = connection.Execute(sql,new<>new CustomerName = "John",new CustomerName = "Andy",new CustomerName = "Allan");Console.WriteLine(affectedRows);string sql = "SELECT TOPhường 10 * FROM OrderDetails";using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))var orderDetails = connection.Query(sql).ToList();Console.WriteLine(orderDetails.Count);FiddleHelper.WriteTable(orderDetails); Ngoài những anh tài ở trên Dapper xây dừng thêm một thực viện khác là Dapper PlusThư viện này sản xuất tương đối như là với giải pháp mà lại entity framework thao tác.Thêm vào kia Dapper cung ứng những method Async. Giúp trở nên tân tiến các chương trình bất đồng điệu 1 cách dễ dãi.