Neo4j 客户端匹配 Id 列表
Neo4j Client Match List Of Id's
我正在尝试创建一个查询来查找列表中有 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 ^
尝试一下(使用 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();
}
我正在尝试创建一个查询来查找列表中有 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 ^
尝试一下(使用 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();
}