Как делать многократные соединения с NHibernate Criteria API

У меня есть следующая модель данных:

Page
- Id      // Pk
- Type    // int

Section
- Id      // Pk
- Page    // Fk

Comment
- Id      // Pk
- Section // Fk
- Date    // DateTime

Я пытаюсь запросить все комментарии, которые ассоциируются с определенной страницей (Say page.id = 2 и page.Type = 1) в течение времени. Я попробовал так:

   var criteria = session.CreateCriteria<Comment>()

   .Add(Restrictions.Eq("Section.Page.Id", pageId))
   .Add(Restrictions.Eq("Section.Page.Type", pageType))
   .Add(Restrictions.Ge("Date", start))
   .Add(Restrictions.Lt("Date", end));

Однако, это не удается, так как я получаю ошибку, говорящую, что "не смог разрешить свойство": Page of: TestNamespace.Comment". Обычно это указывает на ошибки отображения, но это работает во всех других случаях, так что я склонен считать, что ошибка лежит в запросе.

Чтобы ухудшить ситуацию, Comment.Section в некоторых случаях может быть нулевым (есть комментарии, которые не связаны ни с разделом, ни со страницей). В этом случае я хочу проигнорировать эти комментарии.

Любой совет?

Спасибо!

5
задан user315648 6 September 2011 в 05:58
поделиться