Linq上下文行为

时间:2016-03-04 21:05:22

标签: c# linq

我正在使用linq

var remove = WE.Item.Where(key => !response.Any(p2 => p2.ItemID == key.ItemID)).ToList();

发生错误。这是因为我使用ToList()?如何解决?

  

其他信息:无法创建类型的常量值   ' IBD.Models.Stool&#39 ;.只有原始类型或枚举类型   在这种情况下得到支持。

1 个答案:

答案 0 :(得分:1)

看起来您需要首先从response中删除ID,以便将列表传递给Linq提供程序

var ids = response.Select(p => p.ItemID).ToList();
var remove = WE.Item.Where(key => !ids.Contains(key.ItemID)).ToList();