できません。
これを行う唯一の方法は、someotherRelationaldb.Save(object);
をラップすることです。 try catchで、catchでmongoCollection.Remove
を実行します
object
に既知の識別子プロパティが必要になる可能性があります そして、次のようなことを行うことができます:
mongoCollection.Remove(Query.EQ("_id", object.Id));
したがって、かなり不自然に、Saveメソッドは次のようになります。
private void Save(object)
{
mongoCollection.Save(object);
try
{
someotherRelationaldb.Save(object);
}
catch
{
mongoCollection.Remove(Query.EQ("_id", object.Id));
}
}
もう1つの方法は、フラグプロパティをobject
に格納することです。 後に更新されます someOtherRelationaldb
への書き込みが成功しました
これも完全には理想的ではありませんが、クエリを変更して、IsPersisted
のドキュメントのみを返すようにすることができます。 フラグはtrueです。
これらのアプローチはどちらも、私は思いもしませんが、大きくシャーディングされた環境ではうまく機能しません。