Sto provando a recuperare tutte le collezioni (prodotto non cartesiano) di un'entità padre, ma non riesco a capire come ottenere i nipoti. Struttura della tabella assomiglia:NHibernate, ottieni la collezione di nipoti usando QueryOver w/Future
Il codice seguente ottiene la mia madre e le sue collezioni child1 e child2, così come la sua collezione ParentChild3, ma non so come strutturare la query per ottenere i nipoti Child3 (e rimandarli a Future()).
var parent = _session
.QueryOver<Parent>()
.Where(x => x.Id == id)
.Future<User>();
var children1 =_session
.QueryOver<Parent>()
.Where(x => x.Id == id)
.Fetch(x => x.Children1).Eager
.Future<Parent>();
var children2 =_session
.QueryOver<Parent>()
.Where(x => x.Id == id)
.Fetch(x => x.Children2).Eager
.Future<Parent>();
var parentChildren3 =_session
.QueryOver<Parent>()
.Where(x => x.Id == id)
.Fetch(x => x.ParentChildren3).Eager
.Future<Parent>();
// how to get children3, now?
return parent.SingleOrDefault();
Semi-correlati: è questo il modo migliore per ottenere tutte le collezioni? È meglio (e possibile) utilizzare una query che ottenga invece il risultato con i join?
Purtroppo devo mappare come composito (e mentre questo non ha colonne di carico utile, altri fanno), così ho non posso farla franca con ManyToMany. – heyseuss