【问题标题】:Insert record to datatable with column has the timestamp datatype - C#/SQL 2008将记录插入数据表,列具有时间戳数据类型 - C#/SQL 2008
【发布时间】:2012-01-18 02:50:53
【问题描述】:

出于性能原因,我们已将我们的应用程序从使用 EntityFramework 4.2 和一些其他商业 ORM 产品转移到 ADO.NET,这确实证明了目的。

但我们遇到了数据类型时间戳的问题。

在 EF 中,我们在每个表中放置一个带有时间戳数据类型的列,并且我们允许 EF 使用该列进行版本控制,

现在,我们将 ADO.Net 与数据集/数据表一起使用,我不确定如何为添加到数据表的每个新行初始化时间戳列的新值。 这是错误之一。 列“RECVERSION”被限制为唯一。值“System.Byte[]”已经存在。 我们可以禁用约束,但我们希望对行版本有这个约束 题: 我们如何在断开连接的数据集/数据表环境中自动初始化时间戳的新值? 谢谢

【问题讨论】:

    标签: ado.net dataset disconnected


    【解决方案1】:

    TIMESTAMP 类型的列(或自 SQL Server 2008 起为 ROWVERSION)将始终由 SQL Server 自动处理。

    并且不能也不能在其中插入任何值。别管它!您应该只选择它来检测在您阅读它的时间和您尝试更新它的那一刻之间行的更改时间。

    不要尝试插入或设置此值!只需将它从您的任何 SQL INSERTUPDATE 语句中排除。 SQL Server 为您完成所有工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      • 2015-02-19
      • 1970-01-01
      相关资源
      最近更新 更多