linq从查询中删除任何列表值的项目

时间:2013-06-22 21:28:46

标签: c# linq linq-to-sql

我试图在linq中检索这个,但似乎无法弄明白。我想根据查询中是否存在查询中的值来过滤查询,但是从查询中删除这些项。

假设我有一个id列表

List<int> UserIds = new List<int>(); //contains 1 2 3

var query = MyTable.Where(a=>a.Id.Notexist(UserIds))

基本上我想从查询中删除UserId列表中的所有项目) 因此查询不应返回Id = 1,2或3

的项目

1 个答案:

答案 0 :(得分:9)

这就是你要追求的吗?

MyTable.Where(a => !UserIds.Contains(a.Id))

这将从MyTable Id UserIds中选择{{1}}中的所有内容。