У меня есть класс документа, который содержит список "тегов". Что-то вроде:
class Item {
string Name { get; set; }
List<string> Tags {get; set;}
}
Теперь я хотел бы создать запрос для RavenDB, который передает мне все элементы, отфильтрованные по списку тегов. При использовании Entity Framework мне удалось сделать это примерно так:
var query = GetQueryable();
foreach (var tag in tags)
{
query = query.Where(i => i.Tags.Contains(tag));
}
Однако, похоже, это не работает с RavenDB, скорее всего, потому что Contains не поддерживается. Я также пытался переписать его с помощью Any, (Where(i => i.Tags.Any(t=>t == tag))
), но это дает мне странное исключение:
Unable to cast object of type
'System.Linq.Expressions.PrimitiveParameterExpression`1[System.String]'
to type 'System.Linq.Expressions.MemberExpression
Любые отличные идеи? Я делаю это совершенно неправильно?