gpt4 book ai didi

asp.net-mvc - 我应该如何跟踪 asp.net mvc (nhibernate) 中任何对象的更改?

转载 作者:行者123 更新时间:2023-12-01 00:06:05 25 4
gpt4 key购买 nike

我正在寻找一种很好的方法来跟踪对对象所做的每个更改。

我们正在构建一个自定义框架,我们需要有关于谁在何时更改了哪个对象以及可能更改了什么的历史(某种)。

在这种情况下,什么是好的做法?

扩展保存/更新方法以写入“日志”?
我应该尝试使用 log4net 还是某种日志扩展?

我担心扩展保存/更新/例程的开销。

编辑:
是的,我需要至少在一个月内查看更改,客户有时会提示丢失的数据,并且他们“忘记”了他们删除了它......

Edit2(为了更好地理解,在评论中提出问题):
历史记录应该存储在 db (ms sql) 中,我不喜欢在每个类的每个操作中添加日志记录。所有类都继承自我的基类,它提供保存、加载、更新、删除等...
感谢您的进一步回答/评论:)

最佳答案

您基本上是在寻找审计解决方案,对吗?我知道 Hibernate 具有使用名为 Hibernate Envers 的插件项目的功能。我能找到的最快的东西是 this blog post .至于 NHibernate,我相信正在将 Envers 移植到 NHibernate 上,以便为 .NET 社区利用此功能。

我认为在深入研究单独的解决方案之前,先了解一下 ETA 是什么是值得的。如果你能把它内置到你的 ORM 中,那很好,对吧? ;-)

刚刚查了一下,我觉得Tuna Toksoz正在研究它,至少根据他的推特提要。

关于asp.net-mvc - 我应该如何跟踪 asp.net mvc (nhibernate) 中任何对象的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1339844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com