Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将字节数组(SQL server时间戳)转换为日期时间(C#)?_C#_Sql Server_Entity Framework - Fatal编程技术网

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

如何将字节数组(SQL server时间戳)转换为日期时间(C#)?,c#,sql-server,entity-framework,C#,Sql Server,Entity Framework,如何将字节数组转换为DateTime?我必须这样做,因为我使用了一个属性(名为CreationDataStamp)作为实体框架的属性Timestamp。第二个属性(名为CreationDate)用于将字节数组转换为DateTime [System.ComponentModel.DataAnnotations.Timestamp] public byte[] CreationDateStamp { get; set; } [System.ComponentModel.DataAnnotation

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

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

[System.ComponentModel.DataAnnotations.Schema.NotMapped]
public DateTime CreationDate
{
    get
    {
        return Convert.ToDateTime(CreationDateStamp);
    }
}
问题是,我在第9行有一个例外:

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


更新:

我也试过这个问题:

但我有一个例外:

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


你能帮我吗?

试试这样的方法:

long longVar = BitConverter.ToInt64(byteValue, 0);
DateTime dateTimeVar = new DateTime(1980,1,1).AddMilliseconds(longVar);

希望有帮助

试试这样的方法:

long longVar = BitConverter.ToInt64(byteValue, 0);
DateTime dateTimeVar = new DateTime(1980,1,1).AddMilliseconds(longVar);

希望有帮助

Sql server
Timestamp
不是
DateTime
。它是元组(行)的版本控制列

  • Sql server引用-有关旧版本,请参阅和
  • 实体框架引用-

简而言之,您无法执行您正试图执行的操作。

Sql server
Timestamp
不是
DateTime
。它是元组(行)的版本控制列

  • Sql server引用-有关旧版本,请参阅和
  • 实体框架引用-

简而言之,您无法执行您试图执行的操作。

您是否检查了此项:@EhsanSajjad:是的,我检查了此项,但有一个例外:要添加的值超出范围。参数名称:值SQL Server中的时间戳类型不是日期时间。它是由数据库引擎生成的一个数字,保证在数据库范围内是唯一的。您是否检查了此项:@EhsanSajjad:是的,我已检查了此项,但出现了此异常:要添加的值超出范围。参数名称:值SQL Server中的时间戳类型不是日期时间。这是一个由数据库引擎生成的数字,保证在数据库范围内是唯一的。很抱歉,我有一个例外:要添加的值超出范围。参数名称:Value很抱歉,我遇到了此异常:要添加的值超出范围。参数名称:value