check property ProviderSupportsCompoundStatements - it's a read-only property
using (SimpleTransaction transaction = db.BeginTransaction())
{
AdoAdapter adoAdapter = transaction.GetAdapter() as AdoAdapter;
if (adoAdapter != null)
{
if(!adoAdapter.ConnectionProvider.SupportsCompoundStatements)
{
}
}
}
OracleConnectionProvider doesn't support compound statements, SqlConnectionProvider does .
https://github.com/flq/Simple.Data.Oracle/blob/master/Simple.Data.Oracle/OracleConnectionProvider.cs
https://github.com/markrendle/Simple.Data/blob/master/Simple.Data.SqlServer/SqlConnectionProvider.cs
Maybe 'transaction.GetAdapter()' and UpsertMany, InsertMany and UpdateMany will help instead of using foreach loop with 'transaction' object Insert and Update