Список совпадений клиентов Neo4j

Я пытаюсь создать запрос, чтобы найти записи, кто ID в списке, поэтому у меня нет запроса к базе данных несколько раз. Мой запрос, однако, выдает ошибку. Как я могу это исправить?

запрос

    public static IEnumerable<Task> GetByIds(List<string> ids)
    {
        return DBUtils.DBService.Cypher
            .Match("(node:Task)")
            .Where((Task node) => ids.Contains(node.Id))
            .Return(node => node.As<Task>())
            .Results.ToList();
    }

исключение

SyntaxException: Invalid input 'n': expected whitespace, '.', node labels, '[', \"=~\", IN, STARTS, ENDS, CONTAINS, IS, '^', '*', '/', '%', '+', '-', '=', \"<>\", \"!=\", '<', '>', \"<=\", \">=\", AND, XOR, OR, LOAD CSV, START, MATCH, UNWIND, MERGE, CREATE, SET, DELETE, REMOVE, FOREACH, WITH, RETURN, UNION, ';' or end of input (line 2, column 11 (offset: 33))\n\"WHERE {p0}node.Id\r\"\n           ^

1 ответ

Решение

Попробуйте это (используя IN вместо CONTAINS):

public static IEnumerable<CareTask> GetByReferenceIds(List<string> ids)
{
    return DBUtils.DBService.Cypher
        .Match("(node:Task)")
        .Where("node.Id IN {ids}")
        .WithParam("ids", ids)
        .Return(node => node.As<Task>())
        .Results.ToList();
}
Другие вопросы по тегам