public void CreateInBoth(Guid key) { _transactionProvider.BeginTransaction(); try { _repo1.CreateWithNoTransaction(key); _repo2.CreateWithNoTransaction(key); _transactionProvider.CommitTransaction(); } catch (Exception) { _transactionProvider.RollbackTransaction(); throw; } finally { _transactionProvider.DisposeTransaction(); } }