我在gremlin中有兩個查詢,第一個是添加一個頂點,第二個是在添加的頂點和圖中已存在的頂點之間添加一條邊。圖Cosmos上的交易DB
string query1 = $"g.addV('session').property('id','{session_id}').property('initialState', 'start')";
string query2 = $"g.V('{session_id}').addE('belongs').to(g.V('{userId}'))";
正如我在C#編寫的程序,第一個想法,以確保上述兩個命令的運行或者兩者都不是的,在C#中使用TransactionScope
。但是,這並不能解決我的問題,因爲它不在Cosmos DB上。問題是如何在C#中的Graph Cosmos DB上的交易中執行這些命令?。
有什麼技術可以解決gremlin中的這個問題嗎? graph.tx().commit()
是否適用於Cosmos DB?
// In A Transaction Scope
IDocumentQuery<dynamic> query = database.Client.CreateGremlinQuery<dynamic>(database.Graph, query1);
query.ExecuteNextAsync().Result;
query = database.Client.CreateGremlinQuery<dynamic>(database.Graph, query2);
query.ExecuteNextAsync().Result;
你好,因爲這個答案是在一年前寫的 - 有沒有改變呢?是否有計劃將交易支持納入Microsoft.Azure.Graphs?謝謝 –