从昨天开始,我一直在努力更新以下查询,但没有运气。
在下面的查询中我需要用int idSiteno
替换int[] SelectedidSiteno
- 你看到用int数组替换int。
我尝试使用.Contains
.Any
几乎所有内容,但没有办法接近解决方案。你能帮忙吗?
ICollection<Department> dbList = _db.Departments
.Include(l => l.Sites)
.Where(l => l.idCompany == idCompany && l.Disabled == "N"
&& l.Sites.Any(x => x.idSite == idSiteno))
.OrderBy(l => l.SortOrder).ToList();
答案 0 :(得分:5)
所以包含不起作用?
ICollection<Department> dbList = _db.Departments
.Include(l => l.Sites)
.Where(l => l.idCompany == idCompany && l.Disabled == "N" && l.Sites.Any(x => SelectedidSiteno.Contains(x.idSite)))
.OrderBy(l => l.SortOrder).ToList();
答案 1 :(得分:0)
公司ID匹配的部门表格中的所有数据和网站集合的所有 idsite网站的所有数据都匹配所有所选ID在SelectedidSiteno中< / p>
您可以使用All
检查每个条目是否与特定表达式匹配。例如,如果某个部门的所有网站都与selected collection
匹配。
ICollection<Department> dbList = _db.Departments
.Include(l => l.Sites)
.Where(l => l.idCompany == idCompany &&
l.Disabled == "N" &&
SelectedidSiteno.All(x => l.Sites.Any(s => s.idSite == x)))
.OrderBy(l => l.SortOrder).ToList();