【发布时间】:2016-02-19 17:43:35
【问题描述】:
我有一个表,其中有一个名为 ID 的自动递增标识/主键列。
CREATE TABLE Table1(
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[TextContent] [nvarchar](450) NOT NULL,
[Version] [bigint] NOT NULL)
当我更新 [TextContent] 时,我希望 [Version] 加一。目的是为每一行创建一个版本,该版本在行更新时递增。
是否有合理的方法在单个表中执行此操作?可能与计算的列值和/或触发器有关?
我正在通过实体框架使用 MSSQL 2008。
感谢您提供任何信息!
【问题讨论】:
-
触发器可以解决问题。还可以查看变更跟踪/CDC(变更数据捕获)。
-
您是否需要仅在更新
TextContent列或更新任何列时更新Version列?如果是后者,请查看特殊的 rowversion 列类型,它也可以转换为 bigint。
标签: sql-server entity-framework sql-server-2008 tsql entity-framework-core