我真的不知道如何制定的标题。但这是我的问题。我们正在使用SqlCacheDependencies更新了高速缓冲的对象。但查询后这是"复杂",我们希望使它比较容易.

我们首先想到的是加fieldname像DateChanged和使用DateChanged检查,如果对象实际上已经改变了代替载的所有列表。

SELECT DateChanged FROM Table1

代替

SELECT Id, Title, DateChanged, Description FROM Table1

但我希望有人能告诉我如果有其他的方式做到这一点,或者如果有标准命名的列表示的改变。如何框架等"的实体的框架"或"它能够"处理这个吗?

有帮助吗?

解决方案

它通常被称为"timestamp"

即在

其他提示

这些是我在“可审核”中使用的列。实体:

version: hibernate's optimistic concurrency control
createdBy: FK to users
modifiedBy: FK to users
createdAt: timestamp
modifiedAt: timestamp

如果您在SQL Server上,请注意时间戳列有点误导性命名。虽然它可用于跟踪列的更改,但其值与日期或时间无关。它可以被认为是数据库中的ID uniqiue,仅此而已。 http://msdn.microsoft.com/en-us/library/aa260631。 ASPX

为了知道是否发生了变化,你需要两个timstamps,比如cherouvim的回答。一个是在创建对象时设置的,另一个是在任何修改时设置的,可能是通过更新触发器。如果它们不同,则对象已被编辑,但您无法准确判断何时。

在SQL Server上,您必须使用相同的模式,但使用datetime列。然后,您可以通过从修改日期减去创建日期来计算行的日期。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top