Я пытаюсь найти коллекцию потенциальных узлов, но не могу это сделать ... У меня есть продукт, который имеет отношения со многими экземплярами. Я хотел бы запросить БД и получить все экземпляры, которые находятся в списке, который я получаю от пользователя.Поиск коллекции объектов
Cypher:
var query = _context
.Cypher
.Start(new
{
instance = startBitsList,
product = productNode.Reference,
})
.Match("(product)-[:HasInstanceRel]->(instance)")
.Return(instance => instance.Node<ProductInstance>());
Проблема заключается в startBitsList ... Я использую StringBuilder для создания запроса, который содержит все экземпляры я ищу:
private static string CreateStartBits(IEnumerable<string> instanceNames)
{
var sb = new StringBuilder();
sb.AppendFormat("node:'entity_Name_Index'(");
foreach (var id in productIds)
{
sb.AppendFormat("Name={0} OR ", id);
}
sb.Remove(sb.Length - 4, 4);
sb.Append(")");
var startBitsList = sb.ToString();
return startBitsList;
}
я получаю исключение при попытке для запуска этого cypher ... Есть ли лучший способ поиска нескольких элементов, которые хранятся в коллекции, которую я получаю от пользователя?
Могут ли экземпляры быть независимыми от продуктов? То есть Можете ли вы иметь экземпляр «x», который не связан с продуктом, или может быть подключен экземпляр к нескольким продуктам? –
Каждый экземпляр должен быть подключен только к одному продукту – Jaffi
Вы пробовали запрос в neo4j - он работает, если вы делаете что-то вроде: 'START instance =/* multiple index look ups * /' ?? –