Voici le code que j'utilise. Semble assez simple pour moi. Mais j'obtiens une exception NullReferenceException à la dernière ligne, l'instruction return. Voici la trace de la pile:Nhibernate NullReferenceException retournant Liste des objets de domaine
FailedSystem.NullReferenceException: référence d'objet non définie à une instance d'un objet. à NHibernate.Criterion.Junction.ToSqlString (ICriteria critères, ICriteriaQuery criteriaQuery, IDictionary enabledFilters) à NHibernate.Loader.Criteria.CriteriaJoinWalker..ctor (IOuterJoinLoadable persister, CriteriaQueryTranslator traducteur, usine ISessionFactoryImplementor , CriteriaImpl critères, cordes rootEntityName, IDictionary enabledFilters) à NHibernate.Impl.SessionImpl.List (CriteriaImpl critères, les résultats IList) à NHibernate.Impl.CriteriaImpl.List (IList résultats) à NHibernate.Impl.CriteriaImpl.List()
public List<Person> Search(string keyword)
{
ICriteria criteria = session.CreateCriteria(typeof (Person));
Disjunction disjunction = Restrictions.Disjunction();
{
// In here, there is a whole lot of business logic adding around 20 conditions to the disjunction
}
criteria.Add(disjunction);
return criteria.List<Person>() as List<Person>;
}