获取NHibernate中的命名查询列表

时间:2010-06-05 14:16:01

标签: unit-testing nhibernate named-query

我的NHibernate项目中有十几个命名查询,我想在单元测试中针对测试数据库执行它们,以确保语法仍然匹配不断变化的域/数据库模型。目前,我为每个命名查询进行单元测试,然后获取并执行查询,例如:

IQuery query = session.GetNamedQuery("GetPersonSummaries");
var personSummaryArray = query.List();
Assert.That(personSummaryArray, Is.Not.Null);

这很好用,但我希望有一个单元测试循环遍历所有命名查询并执行它们。有没有办法发现所有可用的命名查询?

感谢

1 个答案:

答案 0 :(得分:1)

Configuration.NamedQueries有一个命名查询列表(它是一个IDictionary,键是查询名称)

当然,您需要访问Configuration实例,或在某处保存该列表。