Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3345|Odgovoriti: 1

[Vir] Rešena napaka Dapper.Contrib "Vrednost je prevelika ali premajhna za Int32"

[Kopiraj povezavo]
Objavljeno na 6. 08. 2023 14:04:48 | | | |
Zahteve: Pri uporabi Dapper.Contrib za izvedbo metode Insert je vrnjena vrednost enega vstavljenega podatka za polje samopovečevanja primarnega ključa vrednost po vstavljanju, in ko je vrnjena vrednost večja od 2147483647, bo Dapper.Contrib vrgel izjemo "Vrednost je prevelika ali premajhna za Int32".

Ko uporabljate Dapper.Contrib za vstavljanje podatkov, se pojavi napaka "Vrednost je prevelika ali premajhna za Int32" in baza podatkov je bila uspešno vstavljena! sumil sem, da gre za težavo v ORM ogrodju, nato pa sem iskal na GitHubu in ugotovil, da gre za znano težavo,Ekipa Dapper tega ni popravila, ker jih skrbi, da bo preveč vplivno, drugi avtorji pa so Dapperju zagotovili PR, a je bil tudi zaprt, kot je prikazano na spodnji sliki:

Prijava do hiperpovezave je vidna.



Razlog za izjemo je, da se po pridobitvi samo-dodane vrednosti, če vzamemo kot primer SQL Server adapterja, cast prenese na napako tipa int, največja vrednost int pa je (int. MaxValue): 2147483647, kot je prikazano na spodnji sliki:



Za ponovitev metode ustvarite novo tabelo, dodate primarni ključ od 2147483648, SQL skripta pa je naslednja:

S sklicevanjem na paket Dapper.Contrib izvedite operacijo vstavljanja z naslednjo kodo:

Napaka je naslednja:



rešitev

Zamenjajte Dapper.Contrib z Dapper.Contrib.Unofficial paket z naslednjim ukazom:

Test ne daje več napake, kot je prikazano na naslednji sliki:



Nasvet: Dapper.Contrib.Unofficial ni popolnoma testiran, prosim, preizkusite ga sami, preden ga uporabite!

(Konec)





Prejšnji:Qv2ray povezuje storitev Trojan-Go na Windows
Naslednji:SQL Server najde podatke, ki jih varchar pretvori v bigint napako
 Najemodajalec| Objavljeno na 6. 08. 2023 14:14:21 |
Spremenjen naslov na GitHubu:https://github.com/itsvse/Dapper.Contrib
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com