#nhibernate #linq-to-nhibernate
Вопрос:
Я хочу исключить один набор результатов из другого, и я использую, за исключением этого, но он выдает ошибку, что «Оператор результата ExceptResultOperator в настоящее время не поддерживается». Я не могу использовать все условия в предложении where одного запроса, так как это даст мне безупречный результат.
//Пример кода, который я пробовал
var result1 = Session.Query<Table>()
.Where(x => x.ColumnName != null amp;amp; !x.active)
.Select(x => x)
var result2 = Session.Query<Table>()
.Where(x => x.Active)
.Except(result1)
.Select(x => x)
Ответ №1:
Вы можете использовать Contains
вместо Except
:
var result1 = Session.Query<Table>()
.Where(x => x.ColumnName != null amp;amp; !x.active)
.Select(x => x)
var result2 = Session.Query<Table>()
.Where(x => x.Active amp;amp; !result1.Contains(x))
.Select(x => x)