Câu trả lời:
Điều đó tương ứng với số nguyên dài (hoặc Int64 ), 64 bit.
Mặc dù nếu số lượng từ cơ sở dữ liệu xảy ra đủ nhỏ và bạn vô tình sử dụng Int32, v.v., bạn sẽ ổn thôi. Nhưng Int64 chắc chắn sẽ giữ nó.
Và lỗi bạn nhận được nếu bạn sử dụng một cái gì đó nhỏ hơn và kích thước đầy đủ là cần thiết? Một chồng tràn! Yay!
long
không được viết hoa.
Tôi vừa có một tập lệnh trả về khóa chính của một tệp chèn và sử dụng một tập lệnh
SELECT @@identity
trên khóa chính bigint của tôi và tôi gặp lỗi cast trong thời gian dài - đó là lý do tại sao tôi bắt đầu tìm kiếm này. Câu trả lời đúng ít nhất trong trường hợp của tôi là loại được trả về bởi lựa chọn đó là NUMERIC tương đương với loại thập phân. Sử dụng lâu sẽ gây ra một ngoại lệ diễn viên.
Đây là một lý do để kiểm tra câu trả lời của bạn trong nhiều hơn một tìm kiếm Google (hoặc thậm chí trên Stack Overflow!).
Để trích dẫn một quản trị viên cơ sở dữ liệu đã giúp tôi:
... BigInt không giống như INT64 cho dù chúng trông giống nhau đến mức nào. Một phần lý do là SQL sẽ thường xuyên chuyển đổi Int / BigInt thành Numeric như một phần của quá trình xử lý thông thường. Vì vậy, khi nó chuyển sang OLE hoặc .NET, chuyển đổi bắt buộc là NUMERIC sang INT.
Chúng tôi thường không nhận thấy vì giá trị in trông giống nhau. "
Sử dụng một kiểu dữ liệu dài.
Bạn có thể sử dụng long
loại hoặcInt64
Tôi nghĩ tương đương là Int64
int in sql maps trực tiếp đến int32 cũng được biết đến như một kiểu nguyên thủy tức là int trong C # trong khi
bigint trong Sql Server ánh xạ trực tiếp đến int64 cũng được biết đến như một kiểu nguyên thủy, tức là dài trong C #
Một chuyển đổi rõ ràng nếu biginteger thành số nguyên đã được xác định ở đây
Đối với hầu hết các trường hợp, nó dài (int64) trong c #