NHibernate审计监听器状态跟踪问题

时间:2012-03-15 01:49:15

标签: nhibernate listener audit-logging

我有基于this post by Ayende的预插入和预更新侦听器,这些侦听器现在已经开始工作了。我刚刚将我的应用程序中的后端从WCF Web API转换为ASP.NET Web API,我开始遇到问题。

(我只是提到转换,因为它是唯一因为一切正常而改变的东西。)

我可以插入没有任何问题的实体,我可以更新现有实体而不会出现任何问题。但是,如果以导致SQL插入后跟SQL更新的方式添加实体,则审计将失败。

检查@event.State方法中的OnPreUpdate会将CreatedOn日期显示为DateTime.MinValue,即使在OnPreInsert方法中设置正确之后也是如此。 / p>

我猜测SQL插入和更新语句的@event.State是在调用侦听器之前构建的,虽然更新的实体状态在OnPreUpdate方法中可用,{{1两个不同的东西。

我目前的解决方法是使用实​​体中的创建数据重置@event.State方法中的CreatedOn,但这感觉不对。

还有其他人经历过这个吗?它是NHibernate中的错误,还是预期的行为?

0 个答案:

没有答案