【发布时间】:2014-02-12 15:23:31
【问题描述】:
我正在使用 SQL Server 或 Azure SQL 数据库(取决于环境)。
在数据库内部,我有一些表使用数据类型 timestamp 进行版本控制,其中一些没有使用它。
例如:表A 和B 有列timestamp ver,而表C 和D 没有这样的列。
我正在使用实体框架。我能以某种方式安全地将这个值(匹配到byte[])转换为uint64吗?是否保证在转换更高的值之后修改后面的行:如果我从表 A 中获取行 a 并从表 B a.convertedVer > b.convertedVer 中获取行 a.convertedVer > b.convertedVer 当且仅当 a 被修改时晚于b?
我需要处理请求:“给我来自A 的所有行匹配某事并且ver 高于myVer”。
【问题讨论】:
-
byte[]有什么问题?您不必检查该值是否更高,只要它相等即可。无论如何,是的,时间戳总是一个 8 字节的值,所以UInt64应该没问题。 -
我更新了问题。我需要处理请求:给我所有来自 A 匹配的行并且 ver 高于 myVer 的行。
标签: sql sql-server entity-framework azure-sql-database