我在linq to entities查询中使用了以下表达式
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不存在,但我想知道如何将我想要的内容整合到表达式中。
答案 0 :(得分:1)
您在逻辑上寻找的是两个集合的交集是否包含任何项目:
vp.ViewGroups.Intersect(vpSource.Groups).Any()