在对象列表中查找所有具有属性的项目在其他列表中

时间:2018-10-24 10:40:40

标签: c# list iqueryable

我是新来的。我的问题是这样:

List<string> positions = new List<string> { "x1", "x2", "x3 };
var results = _context_WObjects.AsQueryAble();

结果返回具有以上类的IQueryAble列表的列表:

class objectclass {

public string position {get; set; }

public string test {get; set; }

/*... other properties....*/

}

我如何找到所有职位(其中不包含)职位列表之一的项目?

我尝试过:

results = results.Where(n1 => positions.Any(n2 => n2 == n1.position));

但是它不起作用!

异常错误是:

“除包含操作符外,不能在查询操作员的LINQ to SQL实现中使用本地序列。”

我是意大利语翻译的。

谢谢 非常 克里斯

1 个答案:

答案 0 :(得分:3)

错误消息很清楚。您不能将Any与类似List<string>这样的本地集合一起使用,但可以使用Contains。您还需要!Contains

results = results.Where(n1 => !positions.Contains(n1.position));