ho salvare il mio valore long
in una tabella di SQL Server come varbinary(max)
:SQL Server varbinary bigint con i valori BitConverter.ToInt64 sono diversi
var savedValue = BitConverter.GetBytes(longValue);
Ora ho bisogno di lavorare con quel valore nella query T-SQL, ma quando Sto cercando di ottenere valore:
select cast(Value as bigint) from dbo.MyValues
Restituisce un valore numerico diverso. Per esempio se ho salvato -8588797048854775808
in .NET, in T-SQL ottengo 33802181122903688
Per favore dimmi qual è il problema? Hai quel problema qualche soluzione?
perché ti salvare un numero intero a 64 bit come varbinary in primo luogo? – BrokenGlass
In genere si memorizza 'long' in C# come' bigint' in SQL Server. C'è una ragione particolare per cui stai cercando di memorizzare 'long' come' varbinary'? – rsbarro
Poiché questo campo DB non contiene solo valori di tipo int64. – Maybe