Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 3345|Resposta: 1

[Fonte] Resolvido o erro Dapper.Contrib "Valor é grande demais ou pequeno demais para Int32"

[Copiar link]
Publicado em 06/08/2023 14:04:48 | | | |
Requisitos: Ao usar o Dapper.Contrib para executar o método Insert, o valor de retorno de um único dado inserido para o campo da chave primária auto-incrementante é o valor após a inserção, e quando o valor de retorno for maior que 2147483647, o Dapper.Contrib lançará a exceção "O valor é grande demais ou pequeno demais para Int32".

Ao usar o Dapper.Contrib para inserir dados, aparece o erro "O valor é grande demais ou pequeno demais para Int32", e o banco de dados foi inserido com sucesso! suspeitava que era um problema com o framework ORM, então pesquisei no GitHub e descobri que era um problema conhecido,A equipe da Dapper não corrigiu porque teme que seja muito impactante, e outros autores forneceram relações públicas para a Dapper, mas também foi fechada, como mostrado na figura abaixo:

O login do hiperlink está visível.



A razão para a exceção é que, após obter o auto-valor adicionado, tomando o adaptador SQL Server como exemplo, o cast é convertido em um erro do tipo int, e o valor máximo de int é (int. MaxValue): 2147483647, como mostrado na figura abaixo:



Para reproduzir o método, crie uma nova tabela, adicione a chave primária começando a partir de 2147483648, e o script SQL é o seguinte:

Referenciando o pacote Dapper.Contrib, execute a operação de inserção com o seguinte código:

O erro é o seguinte:



solução

Substitua Dapper.Contrib pelo pacote Dapper.Contrib.Unofficial pelo seguinte comando:

O teste não apresenta mais erro, como mostrado na figura a seguir:



Dica: Dapper.Contrib.Unofficial não está totalmente testado, por favor, teste você mesmo antes de usar!

(Fim)





Anterior:Qv2ray conecta o serviço Trojan-Go no Windows
Próximo:O SQL Server encontra os dados que varchar converte em bigint erro
 Senhorio| Publicado em 06/08/2023 14:14:21 |
Endereço modificado do GitHub:https://github.com/itsvse/Dapper.Contrib
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com