У меня возникли проблемы с разработкой работы ID в Neo4jClient. Я хочу, чтобы моя модель .NET обладала свойством идентификатора, и в идеале мне бы хотелось просто использовать автоинкрементный идентификатор Neo4j для этого узла.Идентификатор узла Neo4jClient
Однако, независимо от того, какое дело я использую (id
, ID
, Id
) в моем классе модели, он всегда добавляет это в качестве еще одного поля в Neo4j (держа его в 0, когда я создаю новый узел). Поэтому, когда я просматриваю этот узел в браузере Neo4j, он имеет <id>
, который автоматически увеличивается, а также мое поле id
, которое всегда равно 0 (если только я не установил вручную его в моей модели на C#).
Я хочу, чтобы создать новый класс модели .NET (который изначально будет иметь неинициализированный идентификатор 0), а затем, как только я его создам с помощью свободного запроса Cypher Neo4j, он будет иметь идентификатор из идентификатор автоматически созданного узла.
примеры здесь: 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 id, который я, очевидно, не знаю, пока он не создан.
Спасибо. Это хороший момент, когда новый узел имеет тот же идентификатор, что и удаленный. Внутри, я был бы счастлив с помощью GUID, это просто выглядит немного грязно, поскольку это закончится на URI. Имейте в виду, что это не идеальный вариант, чем идентификатор Neo4j появляется на uri! Тогда я подумаю о другом способе ссылки на конкретный узел. Это в основном для страницы редактирования на веб-сайте/приложении. – Dan
Если это на Azure, снеговик очень полезен и прост для уникальных идентификаторов –
Спасибо, проверим. Он находится на Лазуре, но содержится в контейнерах Докера. – Dan