我使用Fluent NHibernate来映射ProductCategory树,并且一切都很顺利,直到我试图走过从数据库返回的树以确保其正确保存和检索为止。NHibernate不会从会话中驱逐对象
这里是我如何测试:
- 实例化4类:饮料,啤酒,淡啤酒和黑啤酒
- 添加啤酒饮料,然后淡啤酒和黑啤酒到啤酒。
- 保存饮料(级联设置为AllDeleteOrphan)
- 刷新了会议,其中持续整个树
- 逐出每个会话中的ProductCategories从数据库
- 检查加载
- 负载饮料对象(fromDB)是EqualTo但不是SameAs Beverages。
- 检查fromDB只有一个子产品分类
- 检查中fromDB独生子女是EqualTo但因为孩子是sameAs的啤酒不sameAs的啤酒
测试失败。这意味着它实际上并没有从数据库中加载对象,因为它仍然处于NHibernate会话的某个地方。
任何见解将不胜感激。
编辑:回应肖恩的评论如下。我正在使用内存SQLite数据库,所以一旦会话/连接关闭,数据库就会被吹走。
感谢您的回答,我在编辑的问题作出回应。 – RKitson 2009-01-29 02:34:43