Dường như có một dự án DapperExtensions, nhưng cũng có một lớp SqlMapperExtensions trong dự án Dapper. Có chồng chéo không? Là một trong những ưu tiên hơn khác? Tôi không thể tìm thấy bất kỳ tài liệu nào trên Dapper.Contrib.Dapper SqlMapperExtensions/Dapper.Contrib?
Trả lời
Dapper.Contrib
là tên lắp ráp: https://github.com/StackExchange/Dapper/tree/master/Dapper.Contrib
SqlMapperExtensions
là lớp tĩnh có chứa các phương pháp contrib trong Dapper.Contrib
: https://github.com/StackExchange/Dapper/blob/master/Dapper.Contrib/SqlMapperExtensions.cs
Tài liệu tốt nhất là lớp test: https://github.com/StackExchange/Dapper/blob/master/Dapper.Tests.Contrib/TestSuite.cs
Tôi nghĩ user1003841 là đề cập đến https://github.com/tmsmith/Dapper-Extensions.
Các tác giả là Thad Smith và Page Brooks - vì vậy nó không phải là tác phẩm của Sam Saffron. Trang dự án nói "Thư viện này là một nỗ lực riêng biệt từ Dapper.Contrib".
"Các tác giả là Thad Smith và Page Brooks - vì vậy nó không phải là tác phẩm của Sam Saffron." làm cho tôi lol vì câu trả lời ban đầu đến từ – Terry
Tôi đã viết Dapper.Contrib đầu tiên một thời gian dài trước đây sau khi thảo luận với Sam. Tôi không biết chi tiết của gói Extensions và họ dường như làm cùng một điều CRUD nhiều hơn hoặc ít hơn nhưng gói Contrib có thể nhanh hơn một chút trong một số trường hợp vì nó có bộ nhớ đệm tích hợp cho cả truy vấn và giao diện dựa trên POCO với một "bẩn" theo dõi nội bộ. Được lấy từ mã kiểm tra:
using (var connection = GetOpenConnection())
{
connection.Get<User>(3).IsNull();
var id = connection.Insert(new User {Name = "Adam", Age = 10});
//get a user with "isdirty" tracking
var user = connection.Get<IUser>(id);
user.Name.IsEqualTo("Adam");
connection.Update(user).IsEqualTo(false); //returns false if not updated, based on tracking
user.Name = "Bob";
connection.Update(user).IsEqualTo(true); //returns true if updated, based on tracking
user = connection.Get<IUser>(id);
user.Name.IsEqualTo("Bob");
//get a user with no tracking
var notrackedUser = connection.Get<User>(id);
notrackedUser.Name.IsEqualTo("Bob");
connection.Update(notrackedUser).IsEqualTo(true); //returns true, even though user was not changed
notrackedUser.Name = "Cecil";
connection.Update(notrackedUser).IsEqualTo(true);
connection.Get<User>(id).Name.IsEqualTo("Cecil");
connection.Query<User>("select * from Users").Count().IsEqualTo(1);
connection.Delete(user).IsEqualTo(true);
connection.Query<User>("select * from Users").Count().IsEqualTo(0);
connection.Update(notrackedUser).IsEqualTo(false); //returns false, user not found
Contrib không có hệ thống tìm kiếm vị trí đẹp mà Tiện ích mở rộng có. LƯU Ý có một chuỗi tốt trên Dapper.Contrib tại đây Dapper.Rainbow VS Dapper.Contrib
Tôi chắc chắn rằng tôi đang thiếu một cái gì đó câm & rõ ràng - nhưng tôi nhận được "người dùng không chứa một định nghĩa cho IsNull" trên dòng 3. IsNull đến từ đâu? cám ơn. – niico
bạn có liên kết đến danh sách đầy đủ của mã này không? – niico
Phương thức IsNull() chỉ là một phương pháp thử nghiệm đơn giản được bao gồm trong nguồn Dapper trên GitHub –
- 1. Dapper & Oracle Clob type
- 2. Dapper với MVCMiniProfiler
- 3. Dapper to DataTable
- 4. Dapper đơn giản mapping
- 5. Truy cập Mysql bằng dapper
- 6. Dapper và trong Điều kiện
- 7. Mapping thực thể trong Dapper
- 8. chuyển đổi Dapper của tinyint
- 9. dapper nuget 1.7 enums mapping
- 10. Ánh xạ SqlGeography với Dapper
- 11. NullReferenceException khi chèn với Dapper
- 12. là có một ExecuteScalar trong Dapper
- 13. Gọi hàm tạo tùy chỉnh bằng Dapper?
- 14. Phân trang và phân loại Dapper ORM
- 15. Dapper có hỗ trợ Enums không?
- 16. Dapper dot net truy vấn trong F #
- 17. Tại sao # (băm) trong mẫu Dapper
- 18. Đặt lại bộ nhớ cache cho Dapper
- 19. Cách chuyển một tham số rỗng với Dapper
- 20. Kết hợp khung thực thể, Dapper và SSDT?
- 21. Sử dụng đúng cách ghép kênh trong Dapper
- 22. Dapper - như nhà điều hành sử dụng DynamicParameters
- 23. Cách đọc truy vấn SQL do Dapper tạo ra?
- 24. Cách tạo đối số cho truy vấn Dapper động
- 25. Sử dụng Dapper để ánh xạ hơn 5 loại
- 26. Dapper Đối tượng chính xác/Bản đồ tổng hợp
- 27. Tôi có thể sử dụng dapper-dot-net với Entity Framework không?
- 28. Làm cách nào để ánh xạ cột nhận dạng, có tên khác với Dapper?
- 29. Có cách nào để theo dõi \ log sql bằng Dapper không?
- 30. Làm cách nào để có được Dapper ánh xạ .net datetime tới datetime2?
'Dapper.Contrib' in Nuget? Sử dụng 'Dapper.Contrib' và' Dapper.Rainbow' trong cùng một dự án là thực hành tốt? – Kiquenet