Pourquoi Dapper's .Execute (...) renvoie-t-il un int?

c# dapper sql-server

Question

Quelqu'un sait pourquoi Dapper retourne un int de .Execute(...) ?

Je ne trouve pas cela documenté nulle part.

Réponse acceptée

L'entier représente le nombre de lignes affectées par votre requête.

Il renvoie un entier pour savoir si votre requête a fonctionné. Si zéro est retourné et que vous vous attendiez à ce que quelque chose ait changé, vous savez qu'il y a un problème.


Réponse populaire

Parce que DbCommand.ExecuteNonQuery (que Dapper utilise en interne, sans aucun doute) renvoie un entier pour le nombre de lignes affectées. Pourquoi? Parce que c'est plus ou moins gratuit, et c'est la seule chose que vous pouvez raisonnablement retourner pour un INSERT ou UPDATE générique.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi