我有类似的东西
var productList = order.Products.TolIst();
然后,我遍历productList并使用更新每个产品
session.SaveOrUpdate(product);
但是问题是,OnFlushDirty函数中产品的先前状态为空(这很有意义)。
无论如何,是否有管理/复制/注入以前的状态?
谢谢
最佳答案
这可能与分离对象的更新有关。尝试阅读这个非常相似的故事:http://jamesfitzsimons.com/?p=152
问题摘要:
...在调查中,我们意识到previousState参数
传递给拦截器的onFlushDirty方法为null。 ...
解决方案:
解决方案是使用merge()方法(NHibernate 2.0中的新增功能)。
Merge()检查一级缓存,以查看是否具有
给定的标识符先前已加载。如果是这样,它将加载
对象脱离一级缓存并使用来更新其属性
分离的对象。这意味着该会话现在可以跟踪
对对象所做的更改,以便在发生刷新时
previousState不再为null。
关于c# - nhibernate以先前状态创建,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14624244/