Nhibernate NullReferenceException返回域对象列表

Nhibernate NullReferenceException返回域对象列表,nhibernate,nullreferenceexception,icriteria,Nhibernate,Nullreferenceexception,Icriteria,下面是我正在使用的代码。对我来说似乎很简单。但是我在最后一行,return语句中得到了一个NullReferenceException。以下是堆栈跟踪: FailedSystem.NullReferenceException失败: 对象引用未设置为 对象的实例。在 NHibernate.criteria.Junction.ToSqlString(ICriteria) 条件,ICriteriaQuery 标准查询,IDictionary2 启用过滤器)在 NHibernate.Loader.Cri

下面是我正在使用的代码。对我来说似乎很简单。但是我在最后一行,return语句中得到了一个NullReferenceException。以下是堆栈跟踪:

FailedSystem.NullReferenceException失败: 对象引用未设置为 对象的实例。在 NHibernate.criteria.Junction.ToSqlString(ICriteria) 条件,ICriteriaQuery 标准查询,IDictionary
2
启用过滤器)在
NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetWhere条件(IDictionary
2 启用过滤器)在 NHibernate.Loader.Criteria.CriteriaJoinWalker..ctor(IOuterJoinLoadable 坚持者,标准询问者 翻译,ISessionFactoryImplementor 工厂,标准,标准,字符串 rootEntityName,IDictionary
2
启用过滤器)在
NHibernate.Loader.Criteria.CriteriaLoader..ctor(IOuterJoinLoadable
坚持者,ISessionFactoryImplementor
工厂,标准,标准,
字符串rootEntityName,IDictionary
2 启用过滤器)在 NHibernate.Impl.SessionImpl.List(标准Impl 标准,ILST结果)在 NHibernate.Impl.CriteriaImpl.List(IList 结果)在 NHibernate.Impl.CriteriaImpl.List()

公共列表搜索(字符串关键字)
{
ICriteria criteria=session.CreateCriteria(typeof(Person));
析取析取=限制。析取();
{
//在这里,有大量的业务逻辑为析取添加了大约20个条件
}
标准。添加(析取);
将criteria.List()作为列表返回;
}

线索在堆栈跟踪中

只有在return语句中,才会计算条件以生成SQL语句

FailedSystem.NullReferenceException: 
Object reference not set to an instance of an object.
at NHibernate.Criterion.Junction.ToSqlString(
    ICriteria criteria, ICriteriaQuery criteriaQuery, IDictionary2 enabledFilters) 
at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetWhereCondition(
    IDictionary2 enabledFilters) 
注释掉你的所有标准,并在小组中重新引入它们,直到找到导致问题的标准


很可能您正在引用不存在或未映射的属性,或者为不支持该属性的条件提供空值。

线索在堆栈跟踪中

只有在return语句中,才会计算条件以生成SQL语句

FailedSystem.NullReferenceException: 
Object reference not set to an instance of an object.
at NHibernate.Criterion.Junction.ToSqlString(
    ICriteria criteria, ICriteriaQuery criteriaQuery, IDictionary2 enabledFilters) 
at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetWhereCondition(
    IDictionary2 enabledFilters) 
注释掉你的所有标准,并在小组中重新引入它们,直到找到导致问题的标准

很可能您引用的属性不存在或未映射,或者为不支持该属性的条件提供空值