针对NHibernate限制在内存中测试收集

针对NHibernate限制在内存中测试收集,nhibernate,restrictions,Nhibernate,Restrictions,我的应用程序允许用户在运行报表之前进行一些非常深入的筛选编辑。我有一个完整的框架来根据这些过滤器动态生成NHibernate限制,并运行查询 在这种情况下,我有一组对我想要提取的记录的限制,还有一组对识别该集中应该接受特殊处理的记录的限制 目前,我能做的最好的事情就是从数据库中提取两个集合,在处理第一个集合时,我必须检查第二个集合是否包含元素,以查看是否需要应用我的特殊处理。这里明显的问题是我必须访问数据库两次 如果我可以在不访问数据库的情况下根据限制查询实体,那就更好了。NHibernate是

我的应用程序允许用户在运行报表之前进行一些非常深入的筛选编辑。我有一个完整的框架来根据这些过滤器动态生成NHibernate限制,并运行查询

在这种情况下,我有一组对我想要提取的记录的限制,还有一组对识别该集中应该接受特殊处理的记录的限制

目前,我能做的最好的事情就是从数据库中提取两个集合,在处理第一个集合时,我必须检查第二个集合是否包含元素,以查看是否需要应用我的特殊处理。这里明显的问题是我必须访问数据库两次


如果我可以在不访问数据库的情况下根据限制查询实体,那就更好了。NHibernate是否有这样做的工具?

一旦您有了内存中的集合,为什么不使用?

我可以,而且可以。但是他们已经使用的过滤器编辑器创建了一组criteria对象,我将其转换为nhibernate criteria。我想我可以对它们进行就地测试,但这比简单地在它们上运行一些nhibernate检查器要复杂得多。@CMP:nhibernate将关系数据库映射到对象;它不适用于内存中的查询。