如何检查列表的元素值之一包含在C#LINQ的另一个列表中

时间:2015-08-30 14:24:10

标签: c# linq entity-framework

我遇到LINQ问题。类是EF模型的实体。我正在使用C#。

List<Employee> collection_1 = ...//dummy data
List<Employee> collection_2 = ...//dummy data

我想检查collection_1中的一个雇员是否使用LINQ包含在collection_2中。我怎么检查呢?因为我遇到EF问题。仅为单一价值。我可以使用contains方法检查。例如

db.Employees.Where(x=>x.containes(employee));

但我想用一句话检查列表。

1 个答案:

答案 0 :(得分:1)

我希望我能说明你的观点: 你可以用以下三种方式检查它:

Boolean b1 = collection_1.Any(x => collection_2.Contains(x));

OR

Boolean b2 = collection_1.Intersect(collection_2).Count() > 0;

或员工参考不同时:

Boolean b3 = collection_1.Any(x =>collection_2.Select(y=>y.Id).Contains(x.Id));

我希望它有所帮助。