Tengo el siguiente modelo de datos:Cómo hacer varias combinaciones con los criterios del API NHibernate
Page
- Id // Pk
- Type // int
Section
- Id // Pk
- Page // Fk
Comment
- Id // Pk
- Section // Fk
- Date // DateTime
estoy tratando de consultar todos los comentarios que se asocian a una determinada página (Say page.id = 2 y la página .Type = 1) dentro de un límite de tiempo. Lo probé así:
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));
Sin embargo, esto no funciona como consigo un error dice "No se pudo resolver la propiedad: Página de: TestNamespace.Comment". Esto normalmente indicaría errores de mapeo, pero funciona en todos los demás casos, por lo que me inclino a creer que el error radica en la consulta.
Para empeorar las cosas, Comment.Section podría ser nulo en algunos casos (hay comentarios que no están asociados con una sección o página). En ese caso, quiero ignorar esos comentarios.
¿Algún consejo?
Gracias!
Se puede añadir la definición para el tipo de pérdida que los criterios se basa? – Richard
Um, copié ese código de alguna parte ... el brillo debería ser un comentario en realidad. Edité la publicación y solucioné el error. – user315648