2017-01-21 2 views
1

Я пытаюсь запрос на два list<string> в ravendb-запросе к ЮВ, если список-B содержит любой из значений списка А.RavenDb: Проверьте список <string> содержит любой другой в списке <string>

Но получить Ошибка: Не удается извлечь значение из выражения типа: Параметр.

Вот моя попытка:

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(); 

ответ

3

Вы можете использовать In для этого:

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