当前不支持 ExceptResultOperator 结果运算符

问题描述

我想从另一个结果集中排除一个结果集,并且我正在使用除此之外的结果集,但它给出了“当前不支持 ExceptResultOperator 结果运算符”的错误。我不能在单个查询的 where 子句中使用所有条件,因为它会给我一个无例外的结果。

//我尝试过的示例代码

 var result1 = Session.Query<Table>()
                .Where(x => x.ColumnName != null && !x.active)
                .Select(x => x)

   var result2 = Session.Query<Table>()
                .Where(x => x.Active)
                .Except(result1)
                .Select(x => x)

解决方法

您可以使用 Contains 代替 Except

 var result1 = Session.Query<Table>()
                .Where(x => x.ColumnName != null && !x.active)
                .Select(x => x)

 var result2 = Session.Query<Table>()
                .Where(x => x.Active && !result1.Contains(x))
                .Select(x => x)