出于性能原因,我们已将我们的应用程序从使用EntityFramework 4.2和其他一些商业ORM产品转移到ADO.NET,它确实证明了这一目的。
但我们遇到的问题是数据类型时间戳。
在EF中,我们在每个表中都添加了一个带有timestamp数据类型的列,并且我们允许EF使用此列进行版本控制,现在,我们正在使用ADO.Net和dataset / datatable,我不知道如何为添加到数据表的每个新行初始化timestamp列的新值。 这是错误之一。 “RECVERSION”列被限制为唯一。值'System.Byte []'已存在。 我们可以禁用约束,但我们希望对行版本进行约束 题: 我们如何在断开连接的数据集/数据表环境中自动初始化时间戳的新值? 感谢
答案 0 :(得分:2)
{@ 1}}(或SQL Server 2008中的TIMESTAMP
)列将始终由SQL Server自动处理。
并且不能也不能在其中插入任何值。别管它!您应该选择它以检测何时在您阅读它之间以及您尝试更新它的那一行时更改了一行。
请勿尝试插入或设置此值!只需将其从任何SQL ROWVERSION
或INSERT
语句中排除即可。 SQL Server为您完成所有工作。