2016-01-13 112 views
0

我做这样的事情目前:如何检查是否一个名称包含在另一个集合

allSales.Where(x => x.location == "NorthAmerica" && x.CompanyName); 

我有一个List<Company>和公司对象有一个.CompanyName属性。

我想筛选具有List集合中的CompanyName的销售。

公司类具有以下属性:

Company 
Id 
Name 

以下不工作,但它是什么我想:

allSales.Where(x => x.location == "NorthAmerica" && 
     companies.Exists(x => x.Name = x.CompanyName)); 

,其中公司是列表

+1

的可能的复制[LINQ - 数组属性包含其他元素数组](http://stackoverflow.com/questions/2539442/linq-array-property-contains-element-from-another-array) –

+0

使用'.Contains'功能 – MethodMan

+0

你的问题是什么? –

回答

4

假设你有一个变量companies一个List<Company>,你可以使用LINQ Any method做这样的事情:

allSales 
.Where(x => 
    x.location == "NorthAmerica" && 
    companies.Any(c => c.Name == x.CompanyName)); 
3

您可以使用在List<Company>对象上使用Any()方法,查询返回true或false给谓词。尝试是这样的:

allSales.Where(x => x.location == "NorthAmerica" && companies.Any(c => c.Name == x.CompanyName); 
相关问题