У меня есть следующая модель данных:
Page
- Id // Pk
- Type // int
Section
- Id // Pk
- Page // Fk
Comment
- Id // Pk
- Section // Fk
- Date // DateTime
Я пытаюсь запросить все комментарии, связанные с определенной страницей (например, 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));
Однако, это терпит неудачу, поскольку я получаю сообщение об ошибке «Не удалось разрешить свойство: Страница из: TestNamespace.Comment» Обычно это указывает на ошибки отображения, но работает во всех других случаях, поэтому я склонен полагать, что ошибка заключается в запросе.
Что еще хуже, Comment.Section в некоторых случаях может быть нулевым (есть комментарии, которые не связаны ни с разделом, ни со страницей). В этом случае я хочу игнорировать эти комментарии.
Любой совет?
Спасибо!