Antworten:
Das entspricht der langen (oder Int64 ) 64-Bit-Ganzzahl.
Wenn die Nummer aus der Datenbank jedoch klein genug ist und Sie versehentlich einen Int32 usw. verwenden, ist alles in Ordnung. Aber der Int64 wird es definitiv halten.
Und der Fehler, den Sie erhalten, wenn Sie etwas kleineres verwenden und die volle Größe benötigt wird? Ein Stapelüberlauf! Yay!
long
wird nicht großgeschrieben.
Ich hatte gerade ein Skript, das den Primärschlüssel einer Einfügung zurückgab und a verwendete
SELECT @@identity
auf meinem bigint-Primärschlüssel, und ich erhalte einen Besetzungsfehler mit long - deshalb habe ich diese Suche gestartet. Die richtige Antwort ist zumindest in meinem Fall, dass der von dieser Auswahl zurückgegebene Typ NUMERIC ist, was einem Dezimaltyp entspricht. Die Verwendung eines Longs führt zu einer Cast-Ausnahme.
Dies ist ein Grund, Ihre Antworten in mehr als einer Google-Suche (oder sogar bei Stack Overflow!) Zu überprüfen.
So zitieren Sie einen Datenbankadministrator, der mir geholfen hat:
... BigInt ist nicht dasselbe wie INT64, egal wie sehr sie sich ähneln. Ein Grund dafür ist, dass SQL Int / BigInt im Rahmen der normalen Verarbeitung häufig in Numeric konvertiert. Wenn es also um OLE oder .NET geht, ist die erforderliche Konvertierung NUMERIC to INT.
Wir bemerken es nicht oft, da der gedruckte Wert gleich aussieht. "
Verwenden Sie einen langen Datentyp.
Sie können long
Typ oder verwendenInt64
Ich denke, das Äquivalent ist Int64
int in SQL - Karten direkt an int32 auch als Urtyp weiß also int in C # , während
bigint in SQL Server wird direkt auf int64 abgebildet und auch als primitiver Typ bezeichnet, dh long in C #
Hier wurde eine explizite Konvertierung definiert, wenn biginteger in integer definiert wurde
In den meisten Fällen ist es in c # lang (int64)