Det kan du inte.
Det enda sättet att göra detta är att slå in someotherRelationaldb.Save(object);
i ett försök catch, och på catch, gör mongoCollection.Remove
Du skulle förmodligen behöva en känd identifieringsegenskap på object
och kan sedan göra något som:
mongoCollection.Remove(Query.EQ("_id", object.Id));
Så, ganska stökigt, skulle din Spara-metod se ut lite som:
private void Save(object)
{
mongoCollection.Save(object);
try
{
someotherRelationaldb.Save(object);
}
catch
{
mongoCollection.Remove(Query.EQ("_id", object.Id));
}
}
Ett annat sätt är att lagra en flaggegenskap på object
som uppdateras efter den lyckade skrivningen till someOtherRelationaldb
Det här är inte direkt idealiskt heller, men du kan ändra din fråga så att den bara returnerar dokument där IsPersisted
flaggan är sann.
Inget av dessa tillvägagångssätt kommer att spela bra i en hårt skuren miljö även om jag inte skulle tro.