Ответы:
Это соответствует длинному (или Int64 ) 64-разрядному целому числу.
Хотя, если число из базы данных окажется достаточно маленьким, и вы случайно используете Int32 и т. Д., Все будет в порядке. Но Int64 определенно его удержит.
И какую ошибку вы получите, если используете что-то меньшее и нужен полный размер? Переполнение стека! Ура!
long
не пишется с большой буквы.
У меня просто был скрипт, который возвращал первичный ключ вставки и использовал
SELECT @@identity
на моем первичном ключе bigint, и я получаю ошибку при использовании long - вот почему я начал этот поиск. Правильный ответ, по крайней мере в моем случае, состоит в том, что тип, возвращаемый этим выбором, является NUMERIC, что соответствует десятичному типу. Использование long вызовет исключение приведения.
Это одна из причин, чтобы проверить свои ответы в более чем одном поиске Google (или даже в переполнении стека!).
Чтобы процитировать администратора базы данных, который помог мне:
... BigInt - это не то же самое, что INT64, независимо от того, насколько они похожи. Частично причина в том, что SQL часто конвертирует Int / BigInt в Numeric как часть обычной обработки. Поэтому, когда дело доходит до OLE или .NET, требуется преобразование NUMERIC в INT.
Мы не часто замечаем, так как напечатанное значение выглядит одинаково. "
Используйте длинный тип данных.
Вы можете использовать long
тип илиInt64
Я думаю, что эквивалент Int64
int в SQL сопоставляется непосредственно с Int32 также известен как примитивный тип, то есть int в C #, тогда как
bigint в Sql Server отображается непосредственно на int64, также известный как примитивный тип, то есть long в C #
Явное преобразование, если biginteger в integer был определен здесь
В большинстве случаев это длинный (int64) в c #