【发布时间】:2022-01-13 10:32:48
【问题描述】:
所以我有这个 NHibernate ORM 项目,我必须强制 SQL 行版本控制时间戳列更新(增加)而不更改表的特定行的任何现有值。
这是因为我有另一个程序将读取该表的更新时间戳,现在我希望它通过使用现有值更新一行来再次读取。我可以通过使用 sql update 语句轻松实现这一点。
但是当我在 ORM 项目中使用相同的值更新(在 NHibernate 中合并)时,更新时间戳不会改变,我相信只有在值改变时才会更新。
那么有没有办法在 NHibernate ORM 中强制更新具有相同值的行?
【问题讨论】:
-
您好,感谢您的回复。使用 update 会抛出错误,说相同的对象已经存在。我不想更新数据,我只是想让 SQL Row 版本控制列更新/增加,这就是为什么我用相同的值声明更新,如果我确实修改了数据(例如从 1 到 2,但现在我希望它保持为 1)。结果我希望看到 SQL 行版本控制列得到更新/增加,仅此而已。我看到的肮脏解决方案是有一个虚拟/未使用的列并用数据时间更新它。
标签: c# sql-server nhibernate