À propos du projet

Dapper est une bibliothèque NuGet pour .NET qui améliore les connexions ADO.NET grâce à des méthodes d'extension sur DbConnection. Elle fournit une API simple et efficace pour l'exécution de SQL, prenant en charge les accès aux données synchronisés et asynchrones, ainsi que les requêtes bufférées et non-bufférées. Les API clés comprennent Execute pour les opérations d'insertion/mise à jour/suppression, Query pour les requêtes multi-lignes et QuerySingle pour les requêtes à une seule ligne. Les paramètres peuvent être transmis sous forme de POCOs simples, types anonymes, dictionnaires ou instances DynamicParameters. La bibliothèque mappe les résultats de la requête vers des objets typés ou listes dynamiques, permet d'exécuter des commandes plusieurs fois pour des opérations en lots, et gère les requêtes paramétrées avec des paramètres nommés. Elle prend également en charge l'expansion de listes pour les clauses IN, les remplacements littéraux pour les types booléens et numériques, et les lecteurs bufférés versus non-bufférés. Les fonctionnalités supplémentaires comprennent la multi-mappage pour la division d'une seule ligne en plusieurs objets, le traitement de plusieurs grilles de résultats dans une seule requête, le support des procédures stockées avec des paramètres de sortie et de retour, le traitement des chaînes ANSI pour les colonnes varchar et le passage de type par ligne via IDataReader.GetRowParser. Dapper a été initialement développé pour et par Stack Overflow et reste libre et open source. Le dépôt comprend plusieurs packages liés : Dapper.EntityFramework pour les gestionnaires d'extensions Entity Framework, Dapper.Rainbow comme micro-ORM avec des helpers CRUD, Dapper.SqlBuilder pour la construction dynamique de requêtes SQL et les variantes StrongName. Le README documente également les tests de performance comparant Dapper avec d'autres ORMs et l'accès aux données manuellement codé.