Ho appena iniziato con NHibernate e ho problemi con l'esecuzione di query più complesse.NHibernate: QueryOver <> help
Sono entità con allegato un elenco di tag. L'utente fornirà due elenchi di tag, includi ed escludi.
Devo trovare tutte le entità che hanno tutti i tag di inclusione ed escludere qualsiasi entit che abbia qualsiasi tag nell'elenco di esclusione.
Di seguito è riportato il mio primo tentativo, che è chiaramente errato in quanto elenca tutti gli oggetti di visualizzazione che hanno uno dei tag include piuttosto che tutti!
Qualsiasi assistenza è molto apprezzata.
var includeTagIds = (from tag in regime.IncludeTags select tag.Id).ToList<int>();
var excludeTagIds = from tag in regime.ExcludeTags select tag.Id;
var displays = session.QueryOver<Display>()
.JoinQueryOver<DisplayTag>(display => display.Tags)
.WhereRestrictionOn(tag => tag.Id)
.IsIn(includeTagIds).List().Distinct();
return displays.ToList();
Grazie per il vostro aiuto, farò un tentativo. Sto scoprendo che molti degli esempi non sono abbastanza complessi per le applicazioni del mondo reale. Grazie ancora –