Как добавить необязательные предложения where с QueryOver?Добавление необязательных параметров с Nhibernate и QueryOver
TL; DR
Я пытаюсь реализовать форму поиска для приложения и использовать QueryOver.
Некоторые параметры поиска являются необязательными.
var query =
myDatabase.QueryOver(() => customerAlias)
.JoinAlias(() => customerAlias.Projects,() => projectAlias)
.Where(() => projectAlias.IsClosed >= 1)
... possibly add more stuff
Но что делать, если у меня есть 2 условия? 'query = query.AddWhere (...)'? – LosManos
Вероятно, нет затрат на эффективность выполнения 'query.Where (condition1) .Where (condition2)' versus 'query.Where (condition1 && condition2)', конечно, есть нормальный LINQ, но я подозреваю, что Nhibernate будет генерировать то же самое SQL-запрос из обоих. Но вы также можете сделать это: http://stackoverflow.com/questions/22944722/what-is-the-best-way-to-dynamically-add-to-a-where-clause-in-a-nhibernate-query # 22948137 Хотя вы не получите свои персональные псевдонимы. – starlight54
Тем, кто не понимал мой первоначальный комментарий (т.е. я), мой комментарий был о 'query.Where (...); query.Where (...)', где я думал, что второй вызов 'Where' будет перезаписывать сначала, но оказывается, что они объединяются; поэтому ответ правильный. – LosManos