Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
C# IsRowVersion只能为字节数组属性配置_C#_Entity Framework_Ef Code First_Entity Framework 6 - Fatal编程技术网

C# IsRowVersion只能为字节数组属性配置

C# IsRowVersion只能为字节数组属性配置,c#,entity-framework,ef-code-first,entity-framework-6,C#,Entity Framework,Ef Code First,Entity Framework 6,我最近通过NuGet更新程序从EntityFramework 5升级到了6。一切似乎都进展顺利,我构建并执行了我的应用程序。当我试图从数据库检索第一个实体时,收到以下错误: 属性“UpdateDate”不是字节数组。IsRowVersion只能 必须为字节数组属性配置 下面是它所指的一段代码: [Timestamp] public virtual DateTime UpdatedDate { get; set; } 我尝试删除timestamp属性,但不管怎样都得到了相同的错误。如何解决此问题

我最近通过NuGet更新程序从EntityFramework 5升级到了6。一切似乎都进展顺利,我构建并执行了我的应用程序。当我试图从数据库检索第一个实体时,收到以下错误:

属性“UpdateDate”不是字节数组。IsRowVersion只能 必须为字节数组属性配置

下面是它所指的一段代码:

[Timestamp]
public virtual DateTime UpdatedDate { get; set; }
我尝试删除timestamp属性,但不管怎样都得到了相同的错误。如何解决此问题,以便使用EF6运行我的应用程序?

如果使用
[TimeStamp]
属性,则属性应为byte[]
然后将其映射到SQL server中的Rowversion

如果您想要其他字段类型作为并发字段。
使用属性
[concurrency check]

您的代码是错误的<代码>行版本/
时间戳
是一个字节数组,与时间无关。正是斯莱克斯说的。名称
时间戳
对此具有很大的误导性。不幸的是,它被带入了EntityFramework…我不明白。表列是一个datetime,model属性上有一个Timestamp属性。即使这是错误的,为什么在删除timestamp属性时会收到相同的错误消息?您确定在删除
timestamp
属性后已正确清理和重建代码吗?您在模型配置中不手动调用
IsRowVersion()
?列的类型是数据库中的datatime,您只会先使用代码?结果是我在另一个类上有一个timestamp属性。错误消息一定非常相似,我不认识对第二个类的引用。感谢nemesv.或在Fluent API中使用:modelBuilder.Entity().Property(e=>e.updateDate.IsConcurrencyToken();