Respuestas:
Eso corresponde al largo (o Int64 ), un entero de 64 bits.
Aunque si el número de la base de datos es lo suficientemente pequeño y accidentalmente usa un Int32, etc., estará bien. Pero el Int64 definitivamente lo sostendrá.
¿Y el error que obtiene si usa algo más pequeño y se necesita el tamaño completo? Un desbordamiento de pila! ¡Hurra!
long
no está en mayúscula.
Acabo de recibir un script que devolvió la clave principal de una inserción y usé un
SELECT @@identity
en mi clave principal bigint, y recibo un error de conversión usando long, por eso comencé esta búsqueda. La respuesta correcta al menos en mi caso es que el tipo devuelto por esa selección es NUMÉRICO, lo que equivale a un tipo decimal. Usar un largo causará una excepción de lanzamiento.
Esta es una razón para verificar sus respuestas en más de una búsqueda en Google (¡o incluso en Stack Overflow!).
Para citar a un administrador de base de datos que me ayudó:
... BigInt no es lo mismo que INT64, no importa cuánto se parezcan. Parte de la razón es que SQL frecuentemente convertirá Int / BigInt a Numeric como parte del procesamiento normal. Entonces, cuando va a OLE o .NET, la conversión requerida es NUMÉRICA a INT.
No nos damos cuenta a menudo porque el valor impreso se ve igual "
Use un tipo de datos largo.
Puedes usar long
type oInt64
Creo que el equivalente es Int64
int en sql se asigna directamente a int32 también conocido como un tipo primitivo, es decir, int en C # mientras que
bigint en Sql Server se asigna directamente a int64 también conocido como un tipo primitivo, es decir, largo en C #
Una conversión explícita si biginteger a entero se ha definido aquí
Para la mayoría de los casos es largo (int64) en c #