web-dev-qa-db-fra.com

Pourquoi Dapper .Execute (...) renvoie-t-il un entier?

Quelqu'un sait pourquoi Dapper renvoie un entier de .Execute(...)?

Je ne trouve cela documenté nulle part.

42
Drew R

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

Il renvoie un entier pour que vous sachiez 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.

48
CathalMF

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

14
Mark Brackett