【发布时间】:2012-09-23 12:31:11
【问题描述】:
我应该如何使用 Entity Framework 比较 rowversion 字段?我有一个表,其中有一个rowversion 列,我想从行版本高于指定值的表中获取数据。
byte[] rowversion = ... some value;
_context.Set<T>().Where(item => item.RowVersion > rowVersion);
这行不行,报错:
运算符“>”不能应用于“byte[]”和“byte[]”类型的操作数
知道如何比较 C#/Entity Framework 中的 rowversion 字段吗?
【问题讨论】:
-
使用 rowversion 列,您基本上只能检查是否相等(或不相等) - 您无法真正测试“大于”与否。
-
@marc_s 我也这么认为,但实际上,仔细观察,the documentation 谈到 rowversion 值会增加,这支持观察到 rowversion 可以被视为 64 位整数,并且更高的值后来被插入到数据库中,并且它是一个 64 位整数意味着没有实际的溢出机会。
标签: entity-framework c#-4.0 rowversion