Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 3345|Atbildi: 1

[Avots] Novērsta Dapper.Contrib kļūda "Int32 vērtība ir pārāk liela vai pārāk maza"

[Kopēt saiti]
Publicēts 06.08.2023 14:04:48 | | | |
Prasības: Izmantojot Dapper.Contrib, lai izpildītu Insert metodi, viena ievietotā datu atgrieztā vērtība pašpalielinošajam primārās atslēgas laukam ir vērtība pēc ievietošanas, un, ja atgrieztā vērtība ir lielāka par 2147483647, Dapper.Contrib izmetīs izņēmumu "Vērtība ir pārāk liela vai pārāk maza Int32".

Izmantojot Dapper.Contrib, lai ievietotu datus, parādās kļūda "Int32 vērtība ir pārāk liela vai pārāk maza", un datu bāze ir veiksmīgi ievietota! aizdomas, ka tā ir problēma ar ORM ietvaru, pēc tam meklēja GitHub un konstatēja, ka tā ir zināma problēma,Dapper komanda to nav novērsusi, jo uztraucas, ka tas būs pārāk ietekmīgs, un citi autori ir snieguši PR Dapper, bet tas arī ir slēgts, kā parādīts attēlā:

Hipersaites pieteikšanās ir redzama.



Izņēmuma iemesls ir tāds, ka pēc pašpievienotās vērtības iegūšanas, kā piemēru ņemot SQL Server adapteri, raidījums tiek nodots int tipa kļūdai, un maksimālā int vērtība ir (int. MaxValue): 2147483647, kā parādīts zemāk redzamajā attēlā:



Lai reproducētu metodi, izveidojiet jaunu tabulu, pievienojiet primāro atslēgu, sākot no 2147483648, un SQL skripts ir šāds:

Atsaucoties uz Dapper.Contrib pakotni, veiciet ievietošanas operāciju ar šādu kodu:

Kļūda ir šāda:



šķīdums

Aizstājiet Dapper.Contrib ar Dapper.Contrib.Unofficial pakotni ar šādu komandu:

Tests vairs nedod kļūdu, kā parādīts šajā attēlā:



Padoms: Dapper.Contrib.Unofficial nav pilnībā pārbaudīts, lūdzu, pārbaudiet to pats pirms lietošanas!

(Beigas)





Iepriekšējo:Qv2ray savieno Trojan-Go pakalpojumu operētājsistēmā Windows
Nākamo:SQL Server atrod datus, kurus varchar pārvērš par bigint kļūdu
 Saimnieks| Publicēts 06.08.2023 14:14:21 |
Modificēta GitHub adrese:https://github.com/itsvse/Dapper.Contrib
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com