Jawaban:
Itu sesuai dengan panjang (atau Int64 ), integer 64-bit.
Meskipun jika angka dari basis data cukup kecil, dan Anda secara tidak sengaja menggunakan Int32, dll., Anda akan baik-baik saja. Tapi Int64 pasti akan menahannya.
Dan kesalahan yang Anda dapatkan jika Anda menggunakan sesuatu yang lebih kecil dan ukuran penuh diperlukan? Tumpukan meluap! Yay!
long
tidak dikapitalisasi.
Saya baru saja memiliki skrip yang mengembalikan kunci utama dari sebuah insert dan menggunakan a
SELECT @@identity
pada kunci utama bigint saya, dan saya mendapatkan kesalahan pemeran panjang - itu sebabnya saya memulai pencarian ini. Jawaban yang benar setidaknya dalam kasus saya adalah bahwa jenis yang dikembalikan oleh yang pilih adalah NUMERIC yang sama dengan jenis desimal. Menggunakan panjang akan menyebabkan pengecualian pemain.
Ini adalah salah satu alasan untuk memeriksa jawaban Anda di lebih dari satu pencarian Google (atau bahkan di Stack Overflow!).
Mengutip administrator database yang membantu saya:
... BigInt tidak sama dengan INT64 tidak peduli seberapa mirip mereka. Sebagian alasannya adalah bahwa SQL akan sering mengonversi Int / BigInt ke Numeric sebagai bagian dari pemrosesan normal. Jadi ketika masuk ke OLE atau .NET konversi yang diperlukan adalah NUMERIC ke INT.
Kami tidak sering memperhatikan karena nilai cetakannya terlihat sama. "
Gunakan tipe data yang panjang.
Anda bisa menggunakan long
tipe atauInt64
Saya pikir yang setara adalah Int64
int dalam peta sql langsung ke int32 juga dikenal sebagai tipe primitif yaitu int dalam C # sedangkan
bigint di Sql Server memetakan langsung ke int64 juga dikenal sebagai tipe primitif yaitu panjang dalam C #
Konversi eksplisit jika biginteger ke integer telah ditentukan di sini
Untuk sebagian besar kasus itu panjang (int64) di c #