Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: Mike ChaliyОтветов: 2

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

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

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

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

ravendb

Ответы

Ответ 1 · рейтинг 5 · Ayende Rahien

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

Ответ 2 · рейтинг 1 · Mike Chaliy

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы