public virtual async Task InsertAsync(IList<TEntity> entities, bool publishEvent = true)
{
if (entities == null)
throw new ArgumentNullException(nameof(entities));
using var transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled);
await _dataProvider.BulkInsertEntitiesAsync(entities);
transaction.Complete();
...
using (var transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
{
try
{
// your logic
await _dataProvider.UpdateEntityAsync(product);
}
catch (Exception ex)
{
transaction.Dispose();
continue;
}
try
{
// your logic
await _dataProvider.UpdateEntityAsync(ProductCategory);
}
catch (Exception ex)
{
transaction.Dispose();
continue;
}
transaction.Complete();
}