Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 3345|Απάντηση: 1

[Πηγή] Επιλύθηκε το σφάλμα Dapper.Contrib "Η τιμή είναι πολύ μεγάλη ή πολύ μικρή για το Int32"

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 6/8/2023 2:04:48 μ.μ. | | | |
απαιτήσεις: Όταν χρησιμοποιείτε το Dapper.Contrib για την εκτέλεση της μεθόδου εισαγωγής, η τιμή επιστροφής ενός μεμονωμένου εισαγόμενου δεδομένων για το πεδίο πρωτεύοντος κλειδιού που αυξάνεται αυτόματα είναι η τιμή μετά την εισαγωγή και όταν η τιμή επιστροφής είναι μεγαλύτερη από 2147483647, το Dapper.Contrib θα ρίξει την εξαίρεση "Η τιμή είναι πολύ μεγάλη ή πολύ μικρή για το Int32".

Όταν χρησιμοποιείτε το Dapper.Contrib για την εισαγωγή δεδομένων, εμφανίζεται το σφάλμα "Η τιμή είναι πολύ μεγάλη ή πολύ μικρή για το Int32" και η βάση δεδομένων έχει εισαχθεί με επιτυχία! υποψιάστηκε ότι ήταν πρόβλημα με το πλαίσιο ORM, στη συνέχεια έψαξε στο GitHub και διαπίστωσε ότι ήταν γνωστό πρόβλημα,Η ομάδα του Dapper δεν το έχει διορθώσει επειδή ανησυχεί ότι θα έχει πολύ αντίκτυπο και άλλοι συγγραφείς έχουν παράσχει δημόσιες σχέσεις στο Dapper, αλλά έχει επίσης κλείσει, όπως φαίνεται στο παρακάτω σχήμα:

Η σύνδεση με υπερσύνδεσμο είναι ορατή.



Ο λόγος για την εξαίρεση είναι ότι μετά τη λήψη της αυτοπροστιθέμενης τιμής, λαμβάνοντας ως παράδειγμα τον προσαρμογέα του SQL Server, το cast μεταδίδεται σε ένα σφάλμα τύπου int και η μέγιστη τιμή του int είναι (int. MaxValue): 2147483647, όπως φαίνεται στο παρακάτω σχήμα:



Για να αναπαράγετε τη μέθοδο, δημιουργήστε έναν νέο πίνακα, προσθέστε το πρωτεύον κλειδί ξεκινώντας από το 2147483648 και το σενάριο SQL έχει ως εξής:

Αναφέροντας το πακέτο Dapper.Contrib, εκτελέστε τη λειτουργία εισαγωγής με τον ακόλουθο κώδικα:

Το σφάλμα έχει ως εξής:



λύση

Αντικαταστήστε το πακέτο Dapper.Contrib με το πακέτο Dapper.Contrib.Unofficial με την ακόλουθη εντολή:

Η δοκιμή δεν δίνει πλέον σφάλμα, όπως φαίνεται στο παρακάτω σχήμα:



Συμβουλή: Το Dapper.Contrib.Unofficial δεν έχει δοκιμαστεί πλήρως, δοκιμάστε το μόνοι σας πριν το χρησιμοποιήσετε!

(Τέλος)





Προηγούμενος:Το Qv2ray συνδέει την υπηρεσία Trojan-Go στα Windows
Επόμενος:Ο SQL Server βρίσκει τα δεδομένα που μετατρέπει το varchar σε σφάλμα bigint
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 6/8/2023 2:14:21 μ.μ. |
Τροποποιημένη διεύθυνση GitHub:https://github.com/itsvse/Dapper.Contrib
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com