See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 3345|Vastuse: 1

[Allikas] Lahendati Dapper.Contrib viga "Väärtus on Int32 jaoks liiga suur või liiga väike"

[Kopeeri link]
Postitatud 06.08.2023 14:04:48 | | | |
Nõuded: Kui Dapper.Contrib kasutatakse Insert meetodi täitmiseks, on ühe lisatud andme tagastatav väärtus isekasvava primaarvõtme välja jaoks väärtus pärast sisestamist ning kui tagastusväärtus on suurem kui 2147483647, viskab Dapper.Contrib erandi "Väärtus on liiga suur või liiga väike Int32 jaoks".

Dapper.Contribi kasutamisel andmete sisestamiseks tekib viga "Väärtus on Int32 jaoks liiga suur või liiga väike" ja andmebaas on edukalt sisestatud! kahtlustasin, et probleem on ORM raamistikus, otsisin GitHubist ja leidsin, et see on teadaolev probleem,Dapperi meeskond pole seda parandanud, sest kardab, et see võib olla liiga mõjukas, ning teised autorid on Dapperile PR-i andnud, kuid see on samuti suletud, nagu alloleval joonisel näidatud:

Hüperlingi sisselogimine on nähtav.



Erandi põhjus on see, et pärast eneseväärtuse lisandväärtuse saamist, näiteks SQL Server adapteri puhul, visatakse cast int tüüpi veaks ning maksimaalne väärtus int on (int. MaxValue): 2147483647, nagu alloleval joonisel näidatud:



Meetodi reprodutseerimiseks loo uus tabel, lisa primaarvõti alates 2147483648-st ning SQL-skript on järgmine:

Viidates Dapper.Contrib paketile, sooritame sisestamistoimingu järgmise koodiga:

Viga on järgmine:



lahus

Asenda Dapper.Contrib Dapper.Contrib.Unofficial paketiga järgmise käsuga:

Test ei anna enam viga, nagu on näidatud järgmises joonises:



Nipp: Dapper.Contrib.Unofficial ei ole täielikult testitud, palun testige seda ise enne kasutamist!

(Lõpp)





Eelmine:Qv2ray ühendab Trojan-Go teenuse Windowsis
Järgmine:SQL Server leiab andmed, mida varchar teisendab bigint-veaks
 Üürileandja| Postitatud 06.08.2023 14:14:21 |
Muudetud GitHubi aadress:https://github.com/itsvse/Dapper.Contrib
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com