问题描述
我想从另一个结果集中排除一个结果集,并且我正在使用除此之外的结果集,但它给出了“当前不支持 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)