it-swarm.com.de

Was ist das Äquivalent von Bigint in C #?

Was soll ich verwenden, wenn ich einen Wert in C # verarbeite, der für eine SQL Server-Datenbank von großer Bedeutung ist?

192
Asad Butt

Das entspricht long (oder Int64), einer 64-Bit-Ganzzahl.

Obwohl, wenn die Nummer aus der Datenbank klein genug ist und Sie versehentlich einen Int32 usw. verwenden, ist alles in Ordnung. Aber das Int64 wird es definitiv halten.

Und die Fehlermeldung, die Sie erhalten, wenn Sie etwas kleiner verwenden und die volle Größe benötigt wird? Ein Stapelüberlauf! Yay!

318
Patrick Karcher

Int64 wird direkt auf BigInt abgebildet.

Quelle

54
ChaosPandion

Ich hatte gerade ein Skript, das den Primärschlüssel einer Einfügung zurückbrachte und ein verwendete

SELECT @@identity

auf meinem Bigint-Primärschlüssel wird mit long ein Besetzungsfehler angezeigt. Aus diesem Grund habe ich diese Suche gestartet. Zumindest in meinem Fall ist die richtige Antwort, dass der von dieser Auswahl zurückgegebene Typ NUMERIC ist, was einem Dezimaltyp entspricht. Die Verwendung von long führt zu einer Besetzungsausnahme.

Dies ist ein Grund, Ihre Antworten in mehr als einer Google-Suche zu überprüfen (oder sogar in Stack Overflow!).

So zitieren Sie einen Datenbankadministrator, der mir geholfen hat:

... BigInt ist nicht dasselbe wie INT64, egal wie ähnlich sie aussehen. Ein Grund dafür ist, dass SQL im Rahmen der normalen Verarbeitung häufig Int/BigInt in Numeric konvertiert. Wenn es also um OLE oder .NET geht, ist die erforderliche Konvertierung NUMERIC in INT.

Wir bemerken es nicht oft, da der gedruckte Wert gleich aussieht. "

10
Robb Sadler

Sie können long type oder Int64

5
user5095242

Verwenden Sie einen langen Datentyp.

4
Otávio Décio

Ich denke, das Äquivalent ist Int64

2
John Boker

int in SQL-Maps direkt zu int32 auch als primitiver Typ bekannt, dh int in C # während

bigint in SQL Server ordnet direkt int64 zu, das auch als primitiver Typ bekannt ist dh lang in C #

Eine explizite Konvertierung, wenn biginteger in integer definiert wurde hier

1
Technacron