Quel est l'équivalent de bigint en C #?

Qu'est-ce que je suis censé utiliser lors de la gestion d'une valeur en C #, qui est bigint pour une database SQL Server?

    Cela correspond au long (ou Int64 ), un entier de 64 bits.

    Bien que si le nombre de la database se trouve être assez petit, et 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 la taille complète est nécessaire? Un débordement de stack! Yay!

    Int64 correspond directement à BigInt .

    La source

    Je viens d'avoir un script qui a returnné la key primaire d'un insert et utilisé un

     SELECT @@identity 

    sur ma key primaire bigint, et j'obtiens une erreur de dissortingbution en utilisant long – c'est pourquoi j'ai commencé cette search. La réponse correcte au less dans mon cas est que le type renvoyé par cette sélection est NUMERIC qui équivaut à un type décimal. L'utilisation d'un long provoquera une exception de cast.

    C'est une raison pour vérifier vos réponses dans plus d'une search Google (ou même sur Stack Overflow!).

    Pour citer un administrateur de database qui m'a aidé:

    … BigInt n'est pas la même chose que INT64, peu importe à quel point ils se ressemblent. Une partie de la raison est que SQL convertira souvent Int / BigInt en Numeric dans le cadre du traitement normal. Donc quand il va à OLE ou .NET la conversion requirejse est NUMERIC à INT.

    Nous ne remarquons pas souvent puisque la valeur imprimée se ressemble. "

    Utilisez un type de données long.

    Vous pouvez utiliser le type long ou Int64

    Je pense que l'équivalent est Int64

    int dans sql maps directement à int32 également connu comme un type primitif, c'est-à-dire int en C # alors que

    bigint dans sql correspond directement à int64 également connu sous le nom de type primitif ie float en C #

    Une conversion explicite si biginteger en entier a été définie ici

    Je traitais un type de données bigint à afficher dans un DataGridView et fait comme ça

     something = (int)(Int64)data_reader[0];