Учитывая очень простое string[]
, я пытаюсь выполнить следующее в простом синтаксисе LINQ с помощью RavenDB
.
public class Item {
public string[] Tags { get; set; }
}
var list = new List<Item> {
new Item { Tags = new string[] { "one", "two", "three" } },
new Item { Tags = new string[] { "one", "two" } },
new Item { Tags = new string[] { "one" } }
};
И тогда я могу легко запросить это, например, так:
var items = session.Query<Item>().Search( n => n.Tags, "one" ).Take(3).ToList();
Это позволяет мне легко получить все элементы с тегом в string[]
, которые я хочу, но я хочу сделать наоборот (очевидно, для моего сценария использования сценарий намного сложнее,Я сокращаю его для этого примера).
Я хочу написать запрос LINQ, который будет работать с Raven, который даст мне все объекты, которые не имеют данный тег.Подобно «инвертированному» поиску.
Contains () был удален из RavenDB, поэтому я не могу использовать для него обратный логический тип.До сих пор мне просто нужно было сделать запрос, а затем использовать другую команду LINQ для результата, что я считаю крайне неэффективным.Кто-нибудь знает, как это сделать?
Я также публикую это в Списке рассылки RavenDB Группы Google.