Respostas:
Isso corresponde ao longo (ou Int64 ), um número inteiro de 64 bits.
Embora se o número do banco de dados for pequeno o suficiente e você acidentalmente usar um Int32, etc., você estará bem. Mas o Int64 definitivamente o segurará.
E o erro que você recebe se você usa algo menor e é necessário o tamanho completo? Um estouro de pilha! Yay!
long
não é maiúsculo.
Eu só tinha um script que retornava a chave primária de uma inserção e usava um
SELECT @@identity
na minha chave primária bigint e recebo um erro de conversão usando long - foi por isso que iniciei esta pesquisa. A resposta correta, pelo menos no meu caso, é que o tipo retornado por esse select é NUMERIC, o que equivale a um tipo decimal. Usar um longo causará uma exceção de conversão.
Esse é um dos motivos para verificar suas respostas em mais de uma pesquisa no Google (ou mesmo no Stack Overflow!).
Para citar um administrador de banco de dados que me ajudou:
... BigInt não é o mesmo que INT64, não importa o quanto eles se pareçam. Parte do motivo é que o SQL frequentemente converte Int / BigInt em Numeric como parte do processamento normal. Portanto, quando for para OLE ou .NET, a conversão necessária será NUMERIC para INT.
Frequentemente, não percebemos, pois o valor impresso parece o mesmo ".
Use um tipo de dados longo.
Você pode usar long
tipo ouInt64
Eu acho que o equivalente é Int64
int em sql mapeia diretamente para int32 também conhecido como um tipo primitivo, isto é, int em C # enquanto
bigint no Sql Server mapeia diretamente para o int64 também conhecido como um tipo primitivo, ou seja, longo em C #
Uma conversão explícita se biginteger para inteiro foi definido aqui
Na maioria dos casos, é longo (int64) em c #