1

我希望能够根据许多其他表更新一个表中的一行中的时间值。仅当与主表中的行具有相同键的其他表行之一发生更改时,此时间才会更改。

我正在使用带有 C# 的实体框架

我不确定这是否可以通过更改跟踪、触发器、RowVersion、审计表或其他东西来完成。

基本上,如果其他表的行实际上已经更新或添加了新行,我只想在一个表中更改时间。

我正在考虑检查表中的行版本是否发生了变化,然后我会得到事件发生的时间,然后更新另一个表。有人说 RowVersion 最终会循环回到开头,所以我不确定这是否会成为问题。基本上我只是想弄清楚从所有其他表中获取最新更新时间到一个表中的最佳方法是什么。似乎有很多不同的方法可以解决这个问题。是否可以使用实体框架在 sql 中完成这一切,或者我应该在数据库顶部的 c# 中管理时间值。

4

1 回答 1

0

如果您的对象关系允许,最好在对象中管理它。您可以通过触发器在数据库中执行此操作,但 EF 不知道更新对象 A 会更改对象 B 中的 LastUpdatedTime。因此,由于缓存的对象 B 未更新,您可能会读取错误的 LastUpdatedTime。

于 2013-06-23T18:33:18.467 回答