Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 3345|Répondre: 1

[Source] Résolution de l’erreur Dapper.Contrib « La valeur est trop grande ou trop petite pour Int32 »

[Copié le lien]
Publié sur 06/08/2023 14:04:48 | | | |
Exigences : Lors de l’utilisation de Dapper.Contrib pour exécuter la méthode Insert, la valeur de retour d’une donnée unique insérée pour le champ clé primaire auto-incrémentable est la valeur après l’insertion, et lorsque la valeur de retour est supérieure à 2147483647, Dapper.Contrib lance l’exception « La valeur est trop grande ou trop petite pour Int32 ».

Lors de l’utilisation de Dapper.Contrib pour insérer des données, l’erreur « La valeur est trop grande ou trop petite pour Int32 », et la base de données a été insérée avec succès ! j’ai soupçonné qu’il s’agissait d’un problème avec le framework ORM, puis j’ai cherché sur GitHub et j’ai trouvé que c’était un problème connu,L’équipe de Dapper ne l’a pas corrigée car elle craint que cela ait trop d’impact, et d’autres auteurs ont fourni des relations publiques à Dapper, mais elle a aussi été fermée, comme montré dans la figure ci-dessous :

La connexion hyperlientérée est visible.



La raison de cette exception est qu’après avoir obtenu l’auto-valeur ajoutée, en prenant l’adaptateur SQL Server comme exemple, le casting est lancé en une erreur de type int, et la valeur maximale d’int est (int. MaxValue) : 2147483647, comme montré dans la figure ci-dessous :



Pour reproduire la méthode, créez une nouvelle table, ajoutez la clé primaire à partir de 2147483648, et le script SQL est le suivant :

En référence au package Dapper.Contrib, effectuez l’opération d’insertion avec le code suivant :

L’erreur est la suivante :



solution

Remplacez Dapper.Contrib par le package Dapper.Contrib.Unofficial par la commande suivante :

Le test ne donne plus d’erreur, comme le montre la figure suivante :



Conseil : Dapper.Contrib.Unofficial n’est pas entièrement testé, veuillez le tester vous-même avant de l’utiliser !

(Fin)





Précédent:Qv2ray connecte le service Trojan-Go sur Windows
Prochain:SQL Server trouve les données que varchar convertit en erreur bigint
 Propriétaire| Publié sur 06/08/2023 14:14:21 |
Adresse GitHub modifiée :https://github.com/itsvse/Dapper.Contrib
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com