Я использую клиент Neo4J для C#, и я пытаюсь создать несколько уникальных узлов. Я уже создал индекс и уникальное ограничение в базе данных, поэтому я уверен, что дублирование невозможно, но я хочу определить, когда создание узла не удалось из-за нарушения уникального ограничения.
Я новичок в Neo4j, но я вижу, что общие примеры следуют (плохой) практике использования ExecuteWithoutResults для выполнения такого рода запросов, поэтому нет никакой обратной связи о выполнении создания, и я также вижу, что не создается никаких исключений, если создание не удалось.
Как лучше всего получить результат от команды создания узла? После фрагмента кода, показывающего, как я создаю узел:
await client.Cypher
.Merge("(u:User { UserId: {userId}})")
.OnCreate()
.Set("u = {user}")
.WithParams(new
{
userId = user.UserId,
user
})
.ExecuteWithoutResultsAsync();