Réponses:
Cela correspond au long (ou Int64 ), un entier 64 bits.
Bien que si le nombre de la base de données est suffisamment petit et que vous utilisez accidentellement un Int32, etc., tout ira bien. Mais l' Int64 le tiendra certainement.
Et l'erreur que vous obtenez si vous utilisez quelque chose de plus petit et que la taille réelle est nécessaire? Un débordement de pile! Yay!
long
n'est pas capitalisé.
Je viens d'avoir un script qui a renvoyé la clé primaire d'un insert et utilisé un
SELECT @@identity
sur ma clé primaire bigint, et j'obtiens une erreur de transtypage en utilisant long - c'est pourquoi j'ai commencé cette recherche. La bonne réponse au moins dans mon cas est que le type renvoyé par cette sélection est NUMERIC, ce qui équivaut à un type décimal. L'utilisation d'un long entraînera une exception de transtypage.
C'est une des raisons de vérifier vos réponses dans plusieurs recherches Google (ou même sur Stack Overflow!).
Pour citer un administrateur de base de données qui m'a aidé:
... BigInt n'est pas la même chose que INT64, peu importe à quoi ils se ressemblent. Une partie de la raison est que SQL convertit fréquemment Int / BigInt en Numérique dans le cadre du traitement normal. Ainsi, lorsqu'il passe à OLE ou .NET, la conversion requise est NUMÉRIQUE en INT.
Nous ne le remarquons pas souvent car la valeur imprimée est identique. "
Utilisez un type de données long.
Vous pouvez utiliser le long
type ouInt64
Je pense que l'équivalent est Int64
int dans sql correspond directement à int32 également connu comme un type primitif, c'est-à-dire int en C # alors que
bigint dans Sql Server correspond directement à int64 également connu comme un type primitif, c'est-à-dire long en C #
Une conversion explicite si biginteger en entier a été défini ici
Pour la plupart des cas, il est long (int64) en c #