Linq TO Entities Exists和contains之间的区别

时间:2013-03-18 15:58:31

标签: c# linq-to-entities

使用exists优于contains

之间的区别
var s = new int[] { 1, 2, 3, 4, 5 };
dbset.where(x => s.contains(x.id);

var s = new int[] { 1, 2, 3, 4, 5 };
dbset.Where(x => s.Exists(y => x.id));

1 个答案:

答案 0 :(得分:3)

  1. ExistsList<T>的方法,阵列或IEnumerable<T>扩展名中没有此类方法。
  2. 此方法的正确使用语法是x => s.Exists(y => y == x.id)(您应该传递谓词,即返回布尔值的方法)
  3. 区别在于Linq to Entities支持的ContainsExists不受支持。