RavenDb:检查List <string>是否包含另一个List <string>中的Any

时间:2017-01-21 14:17:06

标签: linq ravendb

我尝试在ravendb查询中查询两个list<string>,以查看列表-B是否包含列表A中的任何值。

但是得到错误:无法从类型的表达式中提取值:参数。

这是我的尝试:

public class Media
{
    public List<string> Directors
}

var anotherMedia = new Media() {Directors = new List<string>() {"A", "B", "C"}};


var mediaWithSameDirector = session.Query<Media, Media_Index>().
Where(o => o.Directors.Any(l1 => anotherMedia.Any(l2 => l1 == l2)))
.Take(10).ToList();

1 个答案:

答案 0 :(得分:4)

您可以使用In

var mediaWithSameDirector = session.Query<Media, Media_Index>()
     .Where(o => o.Directors.In(anotherMedia)
     .Take(10) 
     .ToList();