我在按列表过滤子集合时遇到了一些问题
我的数据模型如下;
class Catalog
{
public int ID { get;set;}
public string Name { get;set;}
public IList<Area> Areas { get;set;}
}
class Area
{
public int ID { get;set;}
public string Name { get;set;}
}
假设我有以下数据:
List<Catalog> dataSource;
List<Area> filter;
我想通过过滤器过滤数据源,比如
from v in dataSource where v.Areas.Contains(filter) select v
但这不起作用。
相反,我可以这样做
List<Catalog> result = new List<Catalog>;
foreach (Area area in filter)
{
result.AddRange((from v in dataSource where v.Areas.Contains(area) select v).ToList());
}
但这不是最优的。
谁能告诉我如何按列表过滤子集合