Я использую TransactionScope откатить транзакцию, потерпеть неудачуTransactionScope не откат хотя и не полный() называется
bool errorReported = false;
Action<ImportErrorLog> newErrorCallback = e =>
{
errorReported = true;
errorCallback(e);
};
using (var transaction = new TransactionScope())
{
foreach (ImportTaskDefinition task in taskDefinition)
{
loader.Load(streamFile, newErrorCallback, task.DestinationTable, ProcessingTaskId);
}
if (!errorReported)
transaction.Complete();
}
Я уверен, что нет TransactionScope начал вперед или после этого кода. Я использую структуру сущности для вставки в мою БД.
Независимо от состояния errorReported
транзакция никогда не откатывается в случае ошибки.
Что мне не хватает?
Если вы решили, что этот блок должен быть его собственной транзакцией, независимо от внешней транзакции, вы можете сделать «новый TransactionScope (TransactionScopeOption.RequiresNew)» – Crowcoder