UniqueConstraints-bundleを使用するOrganizationという名前のエンティティがあります。 UniqueConstraintと自動生成されたIDであるNetNameという名前のプロパティがあります。RavenDBのIdの値を変更する
これは不必要なので、代わりにNetName-propertyをIdとして使用します。 UniqueConstraintsがユニークであることを知る必要はなく、NetNameがあるときにLoadを使用できるという利点も得られます。
私たちは、私たちは今の値を保持TempUniqueNetNameと呼ばれる新しい一時的な財産作成ビットIDとしてそれを使用する前に、当社のネット名をクリーンアップするために必要な:だから私たちは今、単純に準備ができている
"organizations/"+ CleanupId(this.NetName)
をその価値を私たちのIDに移してください。しかし、私たちはそれを働かせることはできません。私たちの問題は、以下のPatchRequestでは、データベースにIdという名前の新しいプロパティが追加されますが、acctual Idは同じ値を保持しています(スクリーンショット参照)。 IDの値を変更する方が良い(正しい)方法はありますか?
エンティティ:私はあなたがパッチ適用を介した文書キーを変更することができるとは思わない
_documentStore.DatabaseCommands.UpdateByIndex(typeof(Organizations).Name,
new IndexQuery(),
new[]
{
new PatchRequest()
{
Type = PatchCommandType.Rename,
Name = "TempUniqueNetName",
Value = new RavenJValue("Id")
}
});
はここに要求を掲示される:http://issues.hibernatingrhinos.com/issue/RavenDB-801 –
あなたのお返事ありがとうございます。私たちはあなたの提案を使用し、文書をコピーします。私はそれがしばらく時間がかかることは関係ありませんので、一度のことです。うまくいけば、次回のときにこれが必要になるでしょう。 –
FYI:RavenDBの開発者は、この機能を追加するつもりはないと答えました。 " –