【发布时间】:2011-11-15 04:31:23
【问题描述】:
我有一个带有“版本”字段的表,每个表必须具有唯一值(可能是序列)。行更新时必须更新版本值。
我正在使用 Fluent NHibernate 和 SQLite。
请注意,版本字段是整数类型。当我对版本使用日期时间类型时,一切都很好,因为它在每个表中都是唯一的。 当使用 int 类型时,它是每行唯一的。
this.Version(x => x.Version).Column("Version");
【问题讨论】:
-
为什么实体(行)的版本对所有实体都应该是唯一的?如果创建了两个新实体,它们的版本都是 1。如果修改了一个实体,它的版本会增加 1。这就是版本在 NHibernate 中的工作方式。你需要那个专栏做什么?
-
通过“select * from Entities where Version > 5”之类的查询检索所有更新的实体,在版本 5 之后插入。
-
其实我的Version栏就像某种Revision
标签: .net nhibernate sqlite fluent-nhibernate