2010-06-05 5 views
1

J'ai une douzaine de requêtes nommées dans mon projet NHibernate et je veux les exécuter sur une base de test dans des tests unitaires pour m'assurer que la syntaxe correspond toujours au changement de domaine/base de données. Actuellement, j'ai un test unitaire pour chaque requête nommée où je reçois et exécuter la requête, par exemple:Obtenir la liste des requêtes nommées dans NHibernate

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

Cela fonctionne très bien, mais je voudrais avoir un test unitaire qui boucle à travers toutes les requêtes nommées et les exécute. Existe-t-il un moyen de découvrir toutes les requêtes nommées disponibles?

Merci
Dan

Répondre

1

Configuration.NamedQueries a une liste de requêtes nommées (c'est un IDictionary, la clé est le nom de la requête)

Bien sûr, vous aurez besoin d'un accès à l'instance Configuration, ou sauver cette liste quelque part.

+0

Oui, merci. – Dan

+0

FYI, il y a aussi une propriété NamedSqlQueries à l'objet Configuration (ce dont j'ai réellement besoin). – Dan

Questions connexes