以下は私が使用しているコードです。私にはかなり単純なようです。しかし、最後の行であるreturnステートメントでNullReferenceExceptionが発生します。スタックトレースは次のとおりです。
FailedSystem.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。NHibernate.Criterion.Junction.ToSqlString(ICriteria基準、ICriteriaQuery基準クエリ、IDictionary 2
2 enabledFilters) at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetWhereCondition(IDictionary
enabledFilters)でNHibernate.Loader.Criteria.CriteriaJoinWalker..ctor(IOuterJoinLoadableパーシスター、CriteriaQueryTranslatorトランスレーター、ISessionFactoryImplementorファクトリー、CriteriaImpl基準、文字列rootEntity2 enabledFilters) at NHibernate.Loader.Criteria.CriteriaLoader..ctor(IOuterJoinLoadable persister, ISessionFactoryImplementor factory, CriteriaImpl rootCriteria, String rootEntityName, IDictionary
NHibernate.Impl.SessionImpl.List(CriteriaImpl基準、IList結果)でNHibernate.Impl.CriteriaImpl.List(IList結果)で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>;
}