如何将字节数组(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