Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 3345|Risposta: 1

[Fonte] Risolto l'errore Dapper.Contrib "Il valore è troppo grande o troppo piccolo per Int32"

[Copiato link]
Pubblicato su 06/08/2023 14:04:48 | | | |
Requisiti: Quando si utilizza Dapper.Contrib per eseguire il metodo Insert, il valore di ritorno di un singolo dato inserito per il campo chiave primaria auto-incrementante è il valore dopo l'inserimento, e quando il valore di ritorno è maggiore di 2147483647, Dapper.Contrib lancia l'eccezione "Il valore è troppo grande o troppo piccolo per Int32".

Quando si utilizza Dapper.Contrib per inserire dati, l'errore "Il valore è troppo grande o troppo piccolo per Int32", e il database è stato inserito con successo! sospettavo fosse un problema del framework ORM, poi ho cercato su GitHub e ho scoperto che era un problema noto,Il team di Dapper non l'ha risolto perché teme che possa avere un impatto eccessivo, e altri autori hanno fornito PR a Dapper, ma è stato anche chiuso, come mostrato nella figura sottostante:

Il login del link ipertestuale è visibile.



Il motivo dell'eccezione è che, dopo aver ottenuto l'auto-valore aggiunto, prendendo come esempio l'adattatore SQL Server, il cast viene cast in un errore di tipo int, e il valore massimo di int è (int. MaxValue): 2147483647, come mostrato nella figura sottostante:



Per riprodurre il metodo, crea una nuova tabella, aggiungi la chiave primaria che parte da 2147483648, e lo script SQL è il seguente:

Facendo riferimento al pacchetto Dapper.Contrib, esegui l'operazione di inserimento con il seguente codice:

L'errore è il seguente:



soluzione

Sostituisci Dapper.Contrib con il pacchetto Dapper.Contrib.Unofficial con il seguente comando:

Il test non fornisce più errori, come mostrato nella figura seguente:



Consiglio: Dapper.Contrib.Unofficial non è completamente testato, per favore testalo tu stesso prima di usarlo!

(Fine)





Precedente:Qv2ray collega il servizio Trojan-Go su Windows
Prossimo:SQL Server trova i dati che varchar converte in errore bigint
 Padrone di casa| Pubblicato su 06/08/2023 14:14:21 |
Indirizzo GitHub modificato:https://github.com/itsvse/Dapper.Contrib
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com