NullReferenceException construting Criteria query

Description

None

Environment

None

Attachments

1

Activity

Tuna Toksoz 
September 26, 2008 at 1:22 PM

Fixed in rev. 3783 in 2.0.x branch and 3782 in trunk

Tuna Toksoz 
September 26, 2008 at 12:32 PM

DetachedCriteria detached = DetachedCriteria.For(typeof(Person))
.Add(Property.ForName("Name").Eq("John")).SetProjection(Projections.Id());
ICriteria criteria = session.CreateCriteria(typeof(Document))
.Add(Restrictions.Or(
Property.ForName("Title").Eq("Spec"),
Property.ForName("Person.Id").Eq(detached)
));
IList<Document> results = criteria.List<Document>();

Not very oo-ish but it works.

Jon Palmer 
September 26, 2008 at 12:28 PM

"Please consider using Id's when refering entity, it will solve your problem "

Could you provide an example of what you mean by that?

Tuna Toksoz 
September 26, 2008 at 12:25 PM

We now have better exception for that test case: NHibernate.QueryException: Cannot use subqueries on a criteria without a projection.

Please consider using Id's when refering entity, it will solve your problem

Jon Palmer 
September 23, 2008 at 11:25 AM

See attached failing test case. Stack trace of the error is:

at NHibernate.Loader.Criteria.CriteriaQueryTranslator.get_ProjectedTypes() in C:\dev\Nhibernate2.0\src\NHibernate\Loader\Criteria\CriteriaQueryTranslator.cs:line 409
at NHibernate.Criterion.SubqueryExpression.InitializeInnerQueryAndParameters(ICriteriaQuery criteriaQuery) in C:\dev\Nhibernate2.0\src\NHibernate\Criterion\SubqueryExpression.cs:line 112
at NHibernate.Criterion.SubqueryExpression.ToSqlString(ICriteria criteria, ICriteriaQuery criteriaQuery, IDictionary`2 enabledFilters) in C:\dev\Nhibernate2.0\src\NHibernate\Criterion\SubqueryExpression.cs:line 40
at NHibernate.Criterion.LogicalExpression.ToSqlString(ICriteria criteria, ICriteriaQuery criteriaQuery, IDictionary`2 enabledFilters) in C:\dev\Nhibernate2.0\src\NHibernate\Criterion\LogicalExpression.cs:line 72
at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetWhereCondition(IDictionary`2 enabledFilters) in C:\dev\Nhibernate2.0\src\NHibernate\Loader\Criteria\CriteriaQueryTranslator.cs:line 434
at NHibernate.Loader.Criteria.CriteriaJoinWalker..ctor(IOuterJoinLoadable persister, CriteriaQueryTranslator translator, ISessionFactoryImplementor factory, CriteriaImpl criteria, String rootEntityName, IDictionary`2 enabledFilters) in C:\dev\Nhibernate2.0\src\NHibernate\Loader\Criteria\CriteriaJoinWalker.cs:line 54
at NHibernate.Loader.Criteria.CriteriaLoader..ctor(IOuterJoinLoadable persister, ISessionFactoryImplementor factory, CriteriaImpl rootCriteria, String rootEntityName, IDictionary`2 enabledFilters) in C:\dev\Nhibernate2.0\src\NHibernate\Loader\Criteria\CriteriaLoader.cs:line 47
at NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results) in C:\dev\Nhibernate2.0\src\NHibernate\Impl\SessionImpl.cs:line 1568
at NHibernate.Impl.CriteriaImpl.List(IList results) in C:\dev\Nhibernate2.0\src\NHibernate\Impl\CriteriaImpl.cs:line 455
at NHibernate.Impl.CriteriaImpl.List[T]() in C:\dev\Nhibernate2.0\src\NHibernate\Impl\CriteriaImpl.cs:line 466
at NHibernate.Test.NHSpecificTest.NH9999.NHJSPFixture.Bug() in C:\dev\Nhibernate2.0\src\NHibernate.Test\NHSpecificTest\NH9999\NHJSPFixture.cs:line 30

Fixed

Details

Assignee

Reporter

Components

Affects versions

Priority

Who's Looking?

Open Who's Looking?
Created September 23, 2008 at 11:22 AM
Updated September 26, 2008 at 1:22 PM
Resolved September 26, 2008 at 1:22 PM
Who's Looking?