Nhibernate NullReferenceException返回域对象列表
下面是我正在使用的代码。对我来说似乎很简单。但是我在最后一行,return语句中得到了一个NullReferenceException。以下是堆栈跟踪: FailedSystem.NullReferenceException失败: 对象引用未设置为 对象的实例。在 NHibernate.criteria.Junction.ToSqlString(ICriteria) 条件,ICriteriaQuery 标准查询,IDictionaryNhibernate NullReferenceException返回域对象列表,nhibernate,nullreferenceexception,icriteria,Nhibernate,Nullreferenceexception,Icriteria,下面是我正在使用的代码。对我来说似乎很简单。但是我在最后一行,return语句中得到了一个NullReferenceException。以下是堆栈跟踪: FailedSystem.NullReferenceException失败: 对象引用未设置为 对象的实例。在 NHibernate.criteria.Junction.ToSqlString(ICriteria) 条件,ICriteriaQuery 标准查询,IDictionary2 启用过滤器)在 NHibernate.Loader.Cri
2
启用过滤器)在
NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetWhere条件(IDictionary
2
启用过滤器)在
NHibernate.Loader.Criteria.CriteriaJoinWalker..ctor(IOuterJoinLoadable
坚持者,标准询问者
翻译,ISessionFactoryImplementor
工厂,标准,标准,字符串
rootEntityName,IDictionary2
启用过滤器)在
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)
注释掉你的所有标准,并在小组中重新引入它们,直到找到导致问题的标准
很可能您引用的属性不存在或未映射,或者为不支持该属性的条件提供空值