У меня есть следующая модель данных:
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 в некоторых случаях может быть нулевым (есть комментарии, которые не связаны ни с разделом, ни со страницей). В этом случае я хочу проигнорировать эти комментарии.
Любой совет?
Спасибо!