динамически устанавливать метку в киберзапросе - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь сохранить некоторые данные в базе данных neo4j со следующим (разбитый запрос), который работает, не на 100% правильно, но все данные отправляются на мою базу данных:

var query2Neo = "CREATE (p:Person { samAccountName:'" + de.Properties["samAccountName"].Value + "'});

Как мой следующий шаг Я пытаюсь написать этикетку с реальными данными, а не просто человек:

 var query2Neo = "CREATE (p:'" + de.Properties["samAccountName"].Value + "' { samAccountName:'" + de.Properties["samAccountName"].Value + "'})";

это не работает, но я должен думать?

спасибо

1 Ответ

0 голосов
/ 05 февраля 2020

Это просто из-за одинарной кавычки вокруг метки.

Ваш код сгенерирует запрос, подобный этому CREATE (n:'Person' { ...}), и он недействителен.

Вместо этого следует использовать обратную косую черту ( `) так что

CREATE (n:`Person` { ...})

Итак, ваш код должен быть:

var query2Neo = "CREATE (p:`" + de.Properties["samAccountName"].Value + "` { samAccountName:'" + de.Properties["samAccountName"].Value + "'})";

Более того, для значений ваших свойств вы должны использовать параметры запроса вместо генерации шифра запрос в вашем коде (но это невозможно для метки). Можно отправить карту в качестве параметра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...