Skip to content

Equals method in Match.Where doesn't resolve to = #479

@Evertude

Description

@Evertude

Describe the bug
When using Cypher to Match with a Where expression using an Equals method, the = is missing in the query

The second query in the sample below produces
MATCH (n:Test)
WHERE n.Id"72824ef9-1920-48ed-bc4d-54059bd681e8"
RETURN count(*)

Versions:

  • Neo4jClient 5.1.15
  • GraphClient
  • .NET 8
  • Server Version 4.1.3

To Reproduce

class Test
{
    public Guid Id { get; set; }
}

Client = new GraphClient(...)
Client.ConnectAsync().Wait();

Guid id = Guid.NewGuid();
var works = Client.Cypher.Match("(n:Test)").Where((Test n) => n.Id == id).Return(() => All.Count());
var broken = Client.Cypher.Match("(n:Test)").Where((Test n) => n.Id.Equals(id)).Return(() => All.Count());

Expected behaviour
In both cases, I'd like to have this query
MATCH (n:Test)
WHERE (n.Id = "72824ef9-1920-48ed-bc4d-54059bd681e8")
RETURN count(*)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions