私は自分のモデルの1つのアイテムを扱うときにはArnagoDB_NETのTransactionと一緒に作業しました。モデルのリストを渡すときに問題があります。上記の例私のモデルのリストをArangoDB-NETのTransactionに送ってください
var transactionResult= Context.Transaction.WriteCollection("User").Execute<Dictionary<string, object>>(
string.Format(@"
function() {{
var db = require('internal');
if(!db.User.exists('{0}'))
db.User.save({{ _key:'{0}', UserAppState:1 }});
}}
// and other actions
return {{ 'Executed': true }};
}}", myModel.userId))
うまく働いたが、私は私のモデルのリストを渡したいとき、どのように私は、文字列(またはArangoDBスクリプト)にそれらを反復処理することができますか?例えば
:
string.Format(@"
function() {{
var db = require('internal');
for (i = 0; i < {0}.count; i++){{ // I know didn't work this block code!
if(!db.User.exists('{i.key}'))
db.User.save({{ _key: ""'i.key'"", UserAppState:1 }});
// and other actions
}}
return {{ 'Executed': true }};
}}", lstMyModels);
いずれかが私を助けることができます!
おかげで多くのことを回答。私はC#リストオブジェクトと文字列の補間についてのあなたのコメントを知っていましたが、[トランザクションパラメータの受け渡し](https://docs.arangodb.com/3.0/Manual/Transactions/Passing.html)でさえ不可能だと思います。 ArangoDB-NETで...あなたはそれで私の挑戦を実装できますか?このドライバを使用してリストを反復する方法は? –
@KorekiXeriトランザクションパラメータとして渡すオブジェクトの構造を教えてください。 – yojimbo87
の単純な使用例では、私のオブジェクトは次のとおりです。Contact(edge Coll)[プロパティ:From、To、UserNameなど]、トランザクションとしてリストとして渡されます。このリストはArangoDBへのトランザクションとして存続する必要があります。 –