Reikalavimai: Naudojant Dapper.Contrib įterpimo metodui vykdyti, vieno įterpto duomenų grąžinama reikšmė savaime didėjančiam pirminio rakto laukui yra reikšmė po įterpimo, o kai grąžinama reikšmė yra didesnė nei 2147483647, Dapper.Contrib pateiks išimtį "Int32 reikšmė yra per didelė arba per maža".
Naudojant Dapper.Contrib duomenims įterpti, pasirodo klaida "Int32 reikšmė per didelė arba per maža" ir duomenų bazė sėkmingai įterpta! įtarė, kad tai buvo problema su ORM sistema, tada ieškojo GitHub ir nustatė, kad tai yra žinoma problema,"Dapper" komanda to neištaisė, nes nerimauja, kad tai bus per daug paveikus, o kiti autoriai pateikė "Dapper" ryšius su visuomene, tačiau jis taip pat buvo uždarytas, kaip parodyta toliau pateiktame paveikslėlyje:
Hipersaito prisijungimas matomas.
Išimties priežastis yra ta, kad gavus pridėtinę vertę, paimant SQL serverio adapterį kaip pavyzdį, perdavimas perduodamas į int tipo klaidą, o didžiausia int reikšmė yra (int. MaxValue): 2147483647, kaip parodyta paveikslėlyje žemiau:
Norėdami atkurti metodą, sukurkite naują lentelę, pridėkite pirminį raktą, pradedant nuo 2147483648, o SQL scenarijus yra toks:
Nurodydami paketą Dapper.Contrib, atlikite įterpimo operaciją naudodami šį kodą:
Klaida yra tokia:
sprendimas
Pakeiskite Dapper.Contrib į Dapper.Contrib.Unofficial paketą šia komanda:
Bandymas nebepateikia klaidos, kaip parodyta šiame paveikslėlyje:
Patarimas: Dapper.Contrib.Unofficial nėra iki galo išbandytas, prieš naudodami išbandykite patys!
(Pabaiga)
|