Nhibernate NullReferenceException قائمة كائنات المجال العودة
-
05-07-2019 - |
سؤال
وبعد هو رمز أستخدمه. يبدو بسيطا جدا بالنسبة لي. ولكن يمكنني الحصول على NullReferenceException في السطر الأخير، عبارة الإرجاع. هنا هو تتبع المكدس:
<اقتباس فقرة> وFailedSystem.NullReferenceException:
مرجع كائن لم يتم تعيين ل
مثيل كائن. في
NHibernate.Criterion.Junction.ToSqlString (ICriteria
المعايير، ICriteriaQuery
criteriaQuery، IDictionary2
enabledFilters) at
NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetWhereCondition(IDictionary
2
enabledFilters) في
NHibernate.Loader.Criteria.CriteriaJoinWalker..ctor (IOuterJoinLoadable
persister، CriteriaQueryTranslator
الترجمة، ISessionFactoryImplementor
مصنع ومعايير CriteriaImpl، سلسلة
rootEntityName، IDictionary2
enabledFilters) at
NHibernate.Loader.Criteria.CriteriaLoader..ctor(IOuterJoinLoadable
persister, ISessionFactoryImplementor
factory, CriteriaImpl rootCriteria,
String rootEntityName, IDictionary
2
enabledFilters) في
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>;
}
المحلول
وعلى فكرة هي في تتبع المكدس الخاص بك.
وانها فقط في بيان عودتك أن المعايير يتم تقييم إلى إصدار بيان 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)
وتعليق الخروج عن المعايير الخاصة بك وإعادة تقديم لهم في مجموعات صغيرة حتى تجد واحدة وهذا ما يسبب المشكلة.
وعلى الأرجح أنك الرجوع إلى الممتلكات التي؛ أليس وجود لها، أو لم يتم تعيينها، أو توفير فارغة إلى المعايير التي لا يعتمد عليه.