使用Array查询MVC集合

时间:2013-02-21 13:03:47

标签: linq frameworks entity

我使用实体框架4和linq / lamda表达式。我确定这是一个简单的,但我试图用数组查询集合,但获取包含所有数组值的记录。

基本上我正在做的是这个

var records = collection.where(x.classifications.Any(y=> Array.Contains(y.ClassificationID))).ToList()

这在某种意义上起作用,它返回包含任何数组值的记录,但是如何只获取包含数组中所有值的记录。

希望有意义

编辑:

我将下面的评论标记为答案,因为我必须在我的查询中使用ALL来使其工作,但是我还必须稍微重新编写我的查询。这就是我最终拥有的......

  var records = collection.Where(x=> Array.All(c=> x.Classifications.Select(l=>l.ClassificationID).Contains(c)))

1 个答案:

答案 0 :(得分:0)

如何使用All代替Any

var records = collection.Where(x => x.classifications.All(y => Array.Contains(y.ClassificationID)))
                        .ToList()