Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 3345|Odpowiedź: 1

[Źródło] Rozwiązałem błąd Dapper.Contrib "Wartość jest zbyt duża lub zbyt mała dla Int32"

[Skopiuj link]
Opublikowano 06.08.2023 14:04:48 | | | |
Wymagania: Podczas używania Dapper.Contrib do wykonania metody Insert, wartość zwrotu pojedynczego wstawionego podatku dla samoprzyrastających podstawowych klucza to wartość po wstawieniu, a gdy wartość zwrotu jest większa niż 2147483647, Dapper.Contrib wyrzuci wyjątek "Wartość jest zbyt duża lub zbyt mała dla Int32".

Podczas używania Dapper.Contrib do wstawiania danych pojawia się błąd "Wartość jest zbyt duża lub zbyt mała dla Int32", a baza danych została pomyślnie wstawiona! podejrzewałem, że to problem z frameworkiem ORM, więc szukałem na GitHubie i okazało się, że to znany problem,Zespół Dapper nie naprawił tego, ponieważ obawiają się, że będzie zbyt wpływowy, a inni autorzy zapewnili PR Dapperowi, ale projekt również został zamknięty, jak pokazano na poniższym rysunku:

Logowanie do linku jest widoczne.



Powodem tego wyjątku jest to, że po uzyskaniu wartości dodanej własnej, biorąc na przykład adapter SQL Server, cast jest rzucany na błąd typu int, a maksymalna wartość int to (int. MaxValue): 2147483647, jak pokazano na poniższym rysunku:



Aby odtworzyć metodę, należy utworzyć nową tabelę, dodać klucz główny zaczynający od 2147483648, a skrypt SQL wygląda następująco:

Korzystając z pakietu Dapper.Contrib, wykonaj operację wstawiania za pomocą następującego kodu:

Błąd wygląda następująco:



rozwiązanie

Zamień Dapper.Contrib na pakiet Dapper.Contrib.Unofficial następującym poleceniem:

Test nie daje już błędu, co pokazano na poniższym rysunku:



Wskazówka: Dapper.Contrib.Unofficial nie jest w pełni przetestowany, proszę przetestowaj go samodzielnie przed użyciem!

(Koniec)





Poprzedni:Qv2ray łączy usługę Trojan-Go na Windows
Następny:SQL Server znajduje dane, które varchar konwertuje na błąd bigint
 Ziemianin| Opublikowano 06.08.2023 14:14:21 |
Zmodyfikowany adres GitHub:https://github.com/itsvse/Dapper.Contrib
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com