1

我在 linq to entity 查询中使用了以下表达式

private Expression<Func<PageElement, bool>> ViewerProfileCheckExp(IViewerProfileModel vpSource)
    {
        return (pe) => pe.ViewerProfiles.Any(vp => vp.ViewLevel.Id == vpSource.ViewLevelId &&
                                                        vp.ViewTransitId == vpSource.ViewTransitId &&
                                                        vp.ViewGroups.ContainsAny(vpSource.Groups));
    }

在最后一个子句中,如果 vp 中的任何 ViewGroups 包含在 vpSource.Groups 中,我希望能够在条件中返回 true。我意识到 ContainsAny 不存在,但我想知道如何将我想要的内容整合到表达式中。

4

1 回答 1

1

你在逻辑上寻找的是两个集合的交集是否有任何项目:

vp.ViewGroups.Intersect(vpSource.Groups).Any()
于 2013-11-07T20:40:36.077 回答