Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 3345|Antwoord: 1

[Bron] De Dapper.Contrib-fout "Value is too large or too small for Int32" opgelost

[Link kopiëren]
Geplaatst op 06-08-2023 14:04:48 | | | |
Vereisten: Bij het gebruik van Dapper.Contrib om de Insert-methode uit te voeren, is de retourwaarde van één ingevoegde data voor het zelfverhogende primaire sleutelveld de waarde na invoeging, en wanneer de returnwaarde groter is dan 2147483647, zal Dapper.Contrib de uitzondering "De waarde is te groot of te klein voor Int32" gooien.

Bij het gebruik van Dapper.Contrib om data in te voegen, verschijnt de foutmelding "De waarde is te groot of te klein voor Int32", en is de database succesvol ingevoegd! vermoedde dat het een probleem was met het ORM-framework, en zocht toen op GitHub en vond het een bekend probleem,Het Dapper-team heeft het niet opgelost omdat men vreest dat het te veel impact zal hebben, en andere auteurs hebben PR aan Dapper gegeven, maar het is ook gesloten, zoals getoond in de onderstaande figuur:

De hyperlink-login is zichtbaar.



De reden voor de uitzondering is dat na het verkrijgen van de zelftoegevoegde waarde, als voorbeeld de SQL Server-adapter, de cast wordt omgezet naar een int-type fout, en de maximale waarde van int is (int. MaxValue): 2147483647, zoals weergegeven in de onderstaande figuur:



Om de methode te reproduceren, maak je een nieuwe tabel aan, voeg je de primaire sleutel toe vanaf 2147483648, en het SQL-script is als volgt:

Door het Dapper.Contrib-pakket te refereren, voer je de insert-operatie uit met de volgende code:

De fout is als volgt:



oplossing

Vervang Dapper.Contrib door het Dapper.Contrib.Unofficial pakket met het volgende commando:

De test geeft geen fout meer, zoals weergegeven in de volgende figuur:



Tip: Dapper.Contrib.Unofficial is niet volledig getest, test het alsjeblieft zelf voordat je het gebruikt!

(Einde)





Vorig:Qv2ray verbindt de Trojan-Go-dienst op Windows
Volgend:SQL Server vindt de data die varchar omzet in bigint error
 Huisbaas| Geplaatst op 06-08-2023 14:14:21 |
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com