Ho il seguente modello di dati:Come fare multipla si unisce con NHibernate criteri API
Page
- Id // Pk
- Type // int
Section
- Id // Pk
- Page // Fk
Comment
- Id // Pk
- Section // Fk
- Date // DateTime
sto cercando di interrogare tutti i commenti che sono associati a una determinata pagina (Say page.id = 2 e pagina .Type = 1) entro un limite di tempo. Ho cercato in questo modo:
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));
Tuttavia, questo non riesce come ottengo un errore dice "non potrebbe risolvere proprietà: Pagina di: TestNamespace.Comment". Questo normalmente indicherebbe errori di mappatura, ma funziona in tutti gli altri casi, quindi sono propenso a credere che l'errore si trovi nella query.
Per peggiorare le cose, Comment.Section potrebbe essere nullo in alcuni casi (ci sono commenti che non sono associati a una sezione o pagina). In tal caso, voglio ignorare quei commenti.
Qualche consiglio?
Grazie!
può aggiungere la definizione per il tipo di perdita che il criterio si basa su? – Richard
Um, ho copiato quel codice da qualche parte..lasso dovrebbe essere un commento in realtà. Ho modificato il post e corretto l'errore. – user315648