private void ConditionalCommit(IProviderTransaction providerTransaction) { if (providerTransaction.IsTransactional && providerTransaction.IsActive) { providerTransaction.Commit(this); _committedTransactions.Add(providerTransaction); } }
private void ConditionalCommit(IProviderTransaction providerTransaction) { if (providerTransaction.IsTransactional && providerTransaction.IsActive) { providerTransaction.Commit(this); _committedTransactions.Add(providerTransaction); } else if (!providerTransaction.IsTransactional && providerTransaction.HasCommitalActionsToPerform()) { // The "transaction" is just a placeholder and doesn't commit, but still has actions that need performing // e.g. cache clearing. For example the IO provider uses a NullProviderTransaction as of May 2012 // but still needs to clear relation caches when adding or updating files providerTransaction.PerformPreCommitalActions(); } }