Ich beginne gerade mit NHibernate und ich habe Probleme mit komplexeren Abfragen.NHibernate: QueryOver <> help
Ich habe Entitäten mit einer Liste von Tags angehängt. Der Benutzer wird zwei Listen von Tags bereitstellen, ein- und ausschließen.
Ich muss alle Entitäten finden, die alle Include-Tags enthalten, und alle Entitäten ausschließen, die ein Tag in der Ausschlussliste enthalten.
Unten ist meine erste Bemühung - was eindeutig falsch ist, da es alle Anzeigeobjekte auflistet, die eines der Include-Tags haben und nicht alle!
Jede Hilfe ist sehr hilfreich.
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();
Danke für Ihre Hilfe, ich werde es versuchen. Ich finde viele der Beispiele sind nicht komplex genug für reale Anwendungen. Danke noch einmal –