Не содержится в дочернем списке в RavenDb

У меня есть сущность.

class Something{
   public List<string> Tags {get;set;}
}

Теперь мне нужно запросить все сущности, у которых нет тега.

var res = s.Query<Something>()            
           .Where(x => !x.Tags.Any(t => t == "Test3"));

Не удается с:

Необработанное исключение: System.InvalidCastException: невозможно привести объект типа «System.Linq.Expressions.MethodCallExpressionN» к типу «System.Linq.Expressions.MemberExpression».

Обычный запрос также не работает:

var res = s.Advanced.LuceneQuery<Something>()
           .Where("-Tags:Test3");

... он просто ничего не возвращает.

Как написать такой запрос?


person Mike Chaliy    schedule 24.04.2011    source источник


Ответы (2)


Вы можете использовать метод расширения In, который также будет работать с !

person Ayende Rahien    schedule 25.04.2011

Решение простое:

var res = s.Advanced.LuceneQuery<Something>()
  .Where("Tags:(* -Test3)");
person Mike Chaliy    schedule 25.04.2011
comment
есть ли способ сделать это без lucene? - person Robert Levy; 25.04.2011