이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 3345|회답: 1

[출처] Dapper.Contrib 오류 "값이 Int32에 너무 크거나 너무 작다" 문제를 해결했습니다.

[링크 복사]
게시됨 2023. 8. 6. 오후 2:04:48 | | | |
요구사항: Dapper.Contrib을 사용해 Insert 메서드를 실행할 때, 자기 증가 기본 키 필드의 단일 삽입 데이터의 반환 값은 삽입 후 값이며, 반환 값이 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.Unformor는 완전히 테스트되지 않았으니, 사용 전에 직접 테스트해 주세요!

(끝)





이전의:Qv2ray는 Windows에서 Trojan-Go 서비스를 연결합니다
다음:SQL Server는 varchar가 bigint 오류로 변환하는 데이터를 찾습니다
 집주인| 게시됨 2023. 8. 6. 오후 2:14:21 |
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com