0
假设对象A包含对象B的集合。假设它是一对多(对象B只属于一个对象A)在NHibernate中,我可以使用会话缓存中的数据初始化对象集合吗?
现在假设出于某种原因,我已经在会话中拥有了所有不同的对象B已经缓存。
现在,如果我去从数据库中提取一个对象A(给我一个对象A和一个未初始化的对象B集合),有没有一种方法可以告诉nhibernate进入会话缓存并找到所有对象B属于这个对象A并初始化对象B在对象AI中的集合刚刚得到了吗?
通过初始化集合,我的意思是说,当我尝试使用它时,它不需要发送任何更多的查询到数据库。
我使用的是Nhibernate 3.2。
谢谢!
好的,谢谢。再一次迭戈,你为我节省了一些时间和麻烦! –
这个答案并不完全正确。这很可能,很容易tbh,但是NHibernate并不希望你这样做。但如果出于某种奇怪的原因,你仍然需要这个,我可以告诉你如何。使用会话缓存我甚至设法构建了撤消功能,而无需重新运行查询(我可以通过刷新撤消数据库版本,或者在我开始编辑之前撤销从数据库获取的原始数据)。 – TedOnTheNet
@TedOnTheNet我对你的解决方案感兴趣。想要添加答案吗? –