Je voudrais savoir à quel moment quelqu'un devrait vraiment penser à utiliser Dapper. Je voudrais également comprendre les avantages et les inconvénients de la comparaison de Dapper Vs ADO.NET
Dapper n'est qu'un outil. Ce qu'il fait est:
Ce que ne fait pas , c'est:
SubmitChanges()
(ou autre)La bibliothèque raw dapper ne fournit pas de fonctionnalités CRUD, mais le package supplémentaire "contrib" fournit CRUD de base.
Fondamentalement, ce n'est pas un ORM complet, mais si vous voulez simplement exécuter des requêtes sans avoir à combattre un ORM, ou payer les frais généraux associés avec un ORM, c'est plutôt bien. Si vous ne connaissez pas SQL, la bibliothèque brute n'est probablement pas pour vous ("contrib" devrait être bien, cependant), mais beaucoup de gens non seulement savent SQL, mais ils veulent garder le contrôle du SQL (plutôt que de laisser l'ORM proposer une interprétation de votre intention qui n'a pas été optimisée, etc.).
Pour résumer, les raisons peuvent être:
Quant à "vs ADO.NET":
SqlGeometry
), celles-ci ne sont pas directement disponible dans dapper - vous auriez besoin d'implémenter une interface pour lui dire comment gérer votre scénario, mais ce n'est pas difficile (notez que l'exemple spécifique SqlGeometry
est géré par un autre bibliothèque dapper)