Wygląda na to, że istnieje projekt DapperExtensions, ale istnieje również klasa SqlMapperExtensions w projekcie Dapper. Czy nakładają się na siebie? Czy preferujesz jeden nad drugim? Nie mogę znaleźć żadnej dokumentacji na Dapper.Contrib.Dapper SqlMapperExtensions/Dapper.Contrib?
Odpowiedz
Dapper.Contrib
to nazwa zespołu: https://github.com/StackExchange/Dapper/tree/master/Dapper.Contrib
SqlMapperExtensions
jest klasa statyczna zawierający metody contrib ciągu Dapper.Contrib
: https://github.com/StackExchange/Dapper/blob/master/Dapper.Contrib/SqlMapperExtensions.cs
Najlepszym dokumentacja jest klasa sprawdzian: https://github.com/StackExchange/Dapper/blob/master/Dapper.Tests.Contrib/TestSuite.cs
myślę user1003841 było odnosząc się do https://github.com/tmsmith/Dapper-Extensions.
Autorami są Thad Smith i Page Brooks - więc to nie jest praca Sam Saffron. Strona projektu mówi "Ta biblioteka to osobny wysiłek od Dapper.Contrib".
"Autorami są Thad Smith i Page Brooks - więc to nie jest praca Sam Saffron." mnie lol ze względu na to, kto oryginalna odpowiedź pochodzi z – Terry
Napisałem pierwszy Dapper.Contrib dawno temu po dyskusji z Samem. Nie znam szczegółów pakietu Extensions i wydaje się, że robią to samo CRUD-thing mniej więcej, ale pakiet Contrib może być nieco szybszy w niektórych scenariuszach, ponieważ ma wbudowaną pamięć podręczną dla obu zapytań i dla interfejsu oparte na POCO z wewnętrznym "brudnym" śledzeniem. Wycięty z kodu testowego:
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 nie ma ładnie wyglądającego systemu predykatów, który ma rozszerzenie. UWAGA istnieje dobry wątek na Dapper.Contrib tutaj Dapper.Rainbow VS Dapper.Contrib
Jestem pewien, że brakuje mi coś głupiego i oczywiste - ale dostaję "użytkownik nie zawiera definicji IsNull" na linii 3. Skąd pochodzi IsNull? dzięki. – niico
również masz link do pełnej listy tego kodu? – niico
Metoda IsNull() jest po prostu prostą metodą testową, która jest zawarta w źródle Dapper na GitHub –
- 1. Czy Dapper obsługuje Enums?
- 2. Dapper ORM Nested Objects
- 3. Dapper (connection.Query lub connection.Execute)
- 4. Dapper and In Condition
- 5. Dapper to DataTable
- 6. dapper nuget 1.7 przestawia mapowanie
- 7. Prawidłowe użycie Multimapping w Dapper
- 8. Konwersja Dapper i Downward Integer
- 9. Jak zdobyć SqlDataReader z Dapper?
- 10. Jak używać Dapper w ServiceStack
- 11. Dapper Multi Mapping z QueryMultiple
- 12. jest tam ExecuteScalar w Dapper
- 13. Obowiązkowe parametry, Dapper i System.Data.SqlClient.SqlException
- 14. Dapper i Oracle Clob typ
- 15. Dapper Multi-map następny poziom
- 16. Timeapan mapowania w SQLite i Dapper
- 17. Zarządzanie połączeniami z niepobudzonymi zapytaniami w Dapper
- 18. Dapper Obsługa typów przestrzennych .net Core
- 19. Zadzwoń do konstruktora niestandardowego z Dapper?
- 20. Obsługa Dapper zwróciła pusty zestaw wyników
- 21. Dapper & MS Access - Czytaj prace, Napisz nie
- 22. Wyjątek NullReferenceException podczas wstawiania z Dapper
- 23. Sprawdź, czy istnieje rekord z Dapper ORM
- 24. Dapper wielu obiektów z jednego rzędu
- 25. Połączenie Entity Framework, Dapper i SSDT?
- 26. Dapper wielu map wiele do wielu relacji
- 27. Jak odczytać zapytanie SQL wygenerowane przez Dapper?
- 28. Problemy w programie Dapper i MVC VNext
- 29. Zapytanie Dapper LIKE dotyczące zabezpieczenia MySql przed iniekcją Sql?
- 30. Czy Dapper może być używany do aktualizacji i wstawiania modeli?
'Dapper.Contrib' w Nuget? Używanie 'Dapper.Contrib' i' Dapper.Rainbow' w tym samym projekcie jest dobrą praktyką? – Kiquenet