У меня возникли проблемы с тем, как работает идентификатор в Neo4jClient. Я хочу, чтобы моя модель .NET имела свойство идентификатора, и в идеале я бы хотел, чтобы он просто использовал автоматически увеличиваемый идентификатор Neo4j для этого узла.
Однако независимо от того, какой регистр я использую (id
, ID
, Id
) в своем классе модели, он всегда добавляет это как другое поле в Neo4j (сохраняя его равным 0, когда я создаю новый узел). Поэтому, когда я просматриваю этот узел в браузере Neo4j, он имеет <id>
, который автоматически увеличивается, а также мое поле id
, которое всегда равно 0 (если только я не установил его вручную в своей модели на C#).
Я хочу иметь возможность создать новый класс модели .NET (который изначально будет иметь неинициализированный идентификатор 0), а затем, как только я создам его с помощью запроса Neo4j Fluent Cypher, он будет иметь идентификатор из вновь созданного узла с автоинкрементом Я БЫ.
Примеры здесь: https://github.com/Readify/Neo4jClient/wiki/cypher-examples
Покажите, что их User
класс имеет такой идентификатор:
public long Id { get; set; }
Но в примере для создания нового пользователя...
var newUser = new User { Id = 456, Name = "Jim" };
graphClient.Cypher
.Create("(user:User {newUser})")
.WithParam("newUser", newUser)
.ExecuteWithoutResults();
Я не уверен, откуда взялось это магическое число 456
в этом примере, но я просто хочу, чтобы это был идентификатор Neo4j, который я, очевидно, не знаю, пока он не будет создан.