datetime は SQL Server で 64 ビットとして格納されるため、SQL Server の datetime フィールドから読み取り、int64 として格納したいと考えています。私はこれに似たようなことをしますか?
DateTime dt = sqlDataReader.GetDateTime(0);
byte[] bt = BitConverter.GetBytes(dt);
// unfortunately, GetBytes() does not take DateTime as an argument
long ldt = (Convert.ToInt64(bt[0]) << 56)
+ (Convert.ToInt64(bt[1]) << 48)
+ (Convert.ToInt64(bt[2]) << 40)
+ (Convert.ToInt64(bt[3]) << 32)
+ (Convert.ToInt64(bt[4]) << 24)
+ (Convert.ToInt64(bt[5]) << 16)
+ (Convert.ToInt64(bt[6]) << 8)
+ (Convert.ToInt64(bt[7]));