在我的数据库中有一个字段,它是由逗号分隔的一串ID。 (即" 5,8,9")用户将从创建所选ID列表的多下拉列表中进行选择。我想搜索用户生成的ID列表匹配的数据库(包括All& Any)。
我目前的尝试如下。
reports = reports.Where(r => r.ItemIds.Split(',').ToList().Intersect(ItemIdsList).Any());
然后......
reports = reports.Where(r => r.ItemIds.Split(',').ToList().Intersect(ItemIdsList).All());
答案 0 :(得分:1)
如果所有值都不同,它将起作用,即ItemIds和ItemIdsList中没有重复项
reports = reports.Where(r => r.ItemIds.Split(',').ToList().Intersect(ItemIdsList).Count() > 0); // instead of .Any()
reports = reports.Where(r => r.ItemIds.Split(',').ToList().Intersect(ItemIdsList).Count() == ItemIdsList.Count()); // instead of .All()