を挿入します。ここではArangoDb.Netアップサートいつも私がArangoDatabaseとそのドライバを使用するCRUD機能を持つ小さなアプリケーションを作ってるんだ
は私のコードです:
var insert = new Account
{
Email = "[email protected]",
FirstName = "Adam",
LastName = "Smith"
};
var update = new Account
{
Email = "[email protected]",
FirstName = "John",
LastName = "Peterson"
};
using (var arangoDatabase = new ArangoDatabase(new DatabaseSharedSetting()
{
Url = "http://127.0.0.1:8529/",
Database = "_system",
Credential = new NetworkCredential()
{
UserName = "root",
Password = "xvxvc"
}
}))
{
arangoDatabase.Query()
.Upsert(_ => new Account() {Email = insert.Email},
_ => insert, ((aql, x) => update))
.In<Account>()
.Execute();
}
初めて実行中の[挿入]オブジェクトがデータベースに追加されます。 したがって、私のデータベースは次のとおりです。
しかし、コードを実行する2回目、それは私にエラーがスローされます。
unique constraint violated (while executing). ErrorNumber: 1210 HttpStatusCode: 409
の質問は:どのように私の問題とは何かをそれを解決する?
public class Account
{
public string Email { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
アップサート検索式:new Account() {Email = insert.Email}
がにシリアライズします:
はAccount
クラス定義があると仮定します
問題は検索式のシリアル化をアップサートすることができ、