Hal*_*Hal 1 c# nhibernate nhibernate-mapping .net-3.5
我有问题NHibernate更新我的一些实体时,这不应该发生(脏检查).当我使用NHibernate.Mapping.Attributes来映射我的类时,我发现有一个参数"Check"到NHMA的元素"Class".我想知道我是否可以通过将此参数设置为false或其他东西来关闭脏检查(此参数所需的类型是字符串,因此可能不是这样).
任何帮助,将不胜感激 !
首先,这不是你应该做的事情.NHibernate尝试最好的做脏检查正确的东西.如果NHibernate认为它很脏,那可能就是这样.试着找出你对实体做出了哪些改变,导致NHibernate认为它很脏,看看你是否可以通过调整它来解决你的问题.
也就是说,有一个解决方案.NHibernate使用在插入和更新之前触发的侦听器.有关这方面的更多信息,请访问http://ayende.com/Blog/archive/2009/04/29/nhibernate-ipreupdateeventlistener-amp-ipreinserteventlistener.aspx,http://www.codinginstinct.com/2008/04/ nhibernate-20-events-and-listeners.html和许多其他地方.
事件侦听器本身具有返回值.这个返回值的作用是告诉NHibernate是否执行实际的插入/更新SQL查询.当你返回时false,它会执行它们.当你返回时true,它没有.这样就可以抑制数据库的实际持久性.
这种方法的好处是,在NHibernate方面,它认为实体实际上是持久化的,因此NHibernate的内部状态保持正确并且实体变得不那么脏.
| 归档时间: |
|
| 查看次数: |
1093 次 |
| 最近记录: |