在实体框架核心 IQueryable 上使用"Any"内的"Any"



我目前正在尝试使用实体框架核心 2.1 编写查询,该查询将在.Any()子句中包含.Any()子句。但是,调试语句向我表明:

"Any()"无法翻译,将在本地进行评估

我不能使用包含,因为我想要的值是模型本身的属性,但我也不想触发多个子查询,并且希望将其放入一个 SQL 语句中。

注意的查询部分是:

query = query.Where(p => p.Lots
                          .Any(lt => queryParameters.ActivityStatus
                                                    .Any(st => st == lt.ActivityStatus)));

其中p.Lots =>是模型对象的集合,queryParameters.ActgivityStatus =>是提供状态的列表,我想检查它们是否存在

您可以使用包含而不是任何。

query = query.Where(p => p.Lots
             .Any(lt =>
                 queryParameters.ActivityStatus
                    .Contains(lt.ActivityStatus)
             )
        );

最新更新