如何将字节数组(SQL 服务器时间戳)转换为日期时间(C#)?

H. *_*lyn 1 c# sql-server entity-framework

如何将字节数组转换为DateTime? 我必须这样做,因为我为实体框架使用了一个带有属性的属性(命名CreationDataStampTimestamp。第二个属性(命名CreationDate),我使用的转换字节数组DateTime

[System.ComponentModel.DataAnnotations.Timestamp]
public byte[] CreationDateStamp { get; set; }

[System.ComponentModel.DataAnnotations.Schema.NotMapped]
public DateTime CreationDate
{
    get
    {
        return Convert.ToDateTime(CreationDateStamp);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,我已经9于此异常线:

无法将类型的对象强制转换System.Byte[]为类型System.IConvertible


更新:

我也从这个问题中尝试过:How to convert a byte[] into datetime in C#?

long longVar = BitConverter.ToInt64(CreationDateStamp, 0);
DateTime dateTimeVar = new DateTime(1980,1,1).AddMilliseconds(longVar);
Run Code Online (Sandbox Code Playgroud)

但我有这个例外:

要添加的值超出范围。
参数名称:值

你能帮助我吗?

Igo*_*gor 6

Sql 服务器Timestamp不是DateTime. 它是元组(行)的版本控制列。

简而言之,你不能做你想做的事。