값을 꺼내 매개 변수로 넣지 않는 Where 절에 문제가 있습니다.neo4jclient where 절에 매개 변수를 넣지 마십시오.
return
startingNode
.StartCypher("startNode")
.Match(matchQuery)
.Where<TSourceNode>(otherStartNodes => otherStartNodes.Id != startingNode.Data.Id)
.Return<TSourceNode>("otherStartNodes").Results;
쿼리 문자열 OUT "WHERE (ID <> 아이디)"처럼 보이는 제공됩니다. 나는 람다를 사용하고 그냥
.Where("startNode.Id <> otherStartNodes.Id")
작동하지 않은 이유는 아래의 라인을 시도했습니다 보려면 아래 코드를 사용하지만, 내가 관심하지 않음으로써 쉽게 문제를 해결할 수 있지만 작동하지 않았다 어느 한 쪽.
.Where<TSourceNode, TSourceNode>((otherStartNodes, startNode) => otherStartNodes.Id != startNode.Id)
편집 Tatham은 -이 대한의 Bitbucket에 문제를 만들었습니다.
Where 절이 올바른 방법이어야합니다.
.Where<TSourceNode, TSourceNode>((otherStartNodes, startNode) => otherStartNodes.Id != startNode.Id))
결과 쿼리 텍스트는 '올바른 것'을 사용했을 때와 동일한 "Where (Id <> Id)"를 생성했습니다. TSourceNode가 제네릭 형식이고 그 이름을 올바르게 한정하지 않아서 문제가 발생한 것일 수 있습니까? 내가 작업하고있는 프로젝트는 오픈 소스이므로 테스트를 추가하고 링크를 통해 보냅니다. 건배. – Brenton