我在解決這個ID如何在Neo4jClient中工作時遇到了問題。我希望我的.NET模型有一個標識符屬性,理想情況下,我只想爲該節點使用Neo4j自動增量標識。Neo4jClient節點ID
然而,不管我用什麼樣的情況下(id
,ID
,Id
)在我的模型類,它總是會將此作爲Neo4j的另一場(保持它爲0,當我創建一個新的節點)。因此,當我在Neo4j瀏覽器中查看該節點時,它有一個<id>
,它自動遞增,並且我的id
字段始終爲0(除非我在C#中手動將其設置在我的模型中)。
我希望能夠創建一個新的.NET模型類(最初將有一個未初始化的ID爲0),然後一旦我用Neo4j流暢的Cypher查詢創建它,它將具有來自新創建的節點的自動增量ID。
這裏的例子: https://github.com/Readify/Neo4jClient/wiki/cypher-examples
展示自己User
類有這樣的ID:
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,我在創建之前顯然不知道。
謝謝。這是關於具有與刪除的ID相同的新節點的好處。在內部,我會很高興使用一個GUID,它看起來有點混亂,因爲它會以URI結尾。請注意,它並不是Neo4j ID出現在uri上的理想選擇!我會想到另一種引用特定節點的方法。這基本上是一個網站/應用程序的「編輯」頁面。 – Dan
如果它在Azure上,造雪者是非常有用和容易的唯一ID –
謝謝,將檢查出來。它在Azure上,但包含在Docker容器中。 – Dan