为什么.Fetch()会抛出空引用异常?

时间:2011-07-01 18:10:29

标签: nhibernate linq-to-nhibernate

我有以下nhibernate linq查询,它抛出一个空引用异常

promotions = (from a in session.Query<Application>()
                          from ap in a.Promotions
                          where a.Id == applicationId
                          && ap.EndDate >= DateTime.Now && ap.StartDate <= DateTime.Now
                          select ap).Fetch(ap => ap.LandingPage).ToList();

没有.Fetch()的相同查询正常工作。我两次都传递相同的ID,所以这不是数据问题。

这是一个错误,还是设计?我该如何让它不会抛出异常?

2 个答案:

答案 0 :(得分:0)

如果您将.Fetch(app =&gt; app.Landing Page)移动到声明之后立即更改结果?

from ap in a.Promotions.Fetch(ap => ap.LandingPage)

答案 1 :(得分:0)

from a in session.Query<Application>().Fetch(ap => ap.LandingPage)
//the rest of your code