Iqueryable 作为子查询来筛选另一个 iqueryable
本文关键字:筛选 另一个 iqueryable 查询 Iqueryable | 更新日期: 2023-09-27 17:55:52
我有一个多对多关系(站点,类别,类别XSite)和两个可查询的定义变量,如下所示:
IQueryable<Site> sitesQuery = from s in db.Sites
where s.Name.Contains(siteWord)
select s
IQueryable<SiteCategorie> categoriesQuery = from c in db.SiteCategories
where c.Parent.ID == 1
select c;
我希望能够将过滤器应用于基于网站可查询的类别 iqueryable,这样我就可以拥有任何带有任何过滤器的类别以及具有包含特定过滤器的网站的类别的另一个过滤器,例如:
from c in categoriesQuery
where c.Sites == sitesQuery
select c
我之前也提出过类似的问题,当时我也不需要过滤类别(这里)
多谢
你可能想要任何一个
from c in categoriesQuery
where c.Sites.Any(s => sitesQuery.Contains(s))
select c
或
from c in categoriesQuery
where c.Sites.All(s => sitesQuery.Contains(s))
select c
取决于您的使用案例。