Nemůžete.
Jediný způsob, jak to udělat, by bylo zabalit someotherRelationaldb.Save(object);
v pokusu catch a na catch proveďte mongoCollection.Remove
Pravděpodobně budete potřebovat známou vlastnost identifikátoru object
a pak by mohl udělat něco jako:
mongoCollection.Remove(Query.EQ("_id", object.Id));
Takže poněkud neuspořádaně by vaše metoda Save vypadala trochu jako:
private void Save(object)
{
mongoCollection.Save(object);
try
{
someotherRelationaldb.Save(object);
}
catch
{
mongoCollection.Remove(Query.EQ("_id", object.Id));
}
}
Dalším způsobem je uložit vlastnost flag na object
které se aktualizují po úspěšný zápis do someOtherRelationaldb
Ani to není úplně ideální, ale můžete svůj dotaz upravit tak, aby vracel pouze dokumenty, kde IsPersisted
příznak je pravdivý.
Ani jeden z těchto přístupů nebude hrát dobře v silně narušeném prostředí, i když bych si nemyslel.