я стараюсь использовать TransactionScope таким образом:TransactionScope с несколькими сделок внутри
using (TransactionScope ts = new TransactionScope())
{
DAL.delete();
DAL.create();
ts.Complete();
}
где я независимый DAL (Data Access Layer) модуль, чтобы сделать операции с базами данных. Каждая операция типа delete(), create() является атомарной, т. Е. Все они совершаются путем вызова.
Я пробовал этот код, чтобы объединить эту две операции вместе как транзакцию. И независимо от того, писал ли я ts.Complete(); все они привязаны к базе данных, и откат не происходит.
Как это сделать в этом случае? Благодарю.
Вы попробовали то же самое с ts.Rollback()? – Ako
Какая база данных и структура доступа к данным вы используете? Поддерживает ли он области транзакций? –
, если вы используете 'Sql Server', обратитесь к [MSDN TransactionScope Class] (https://msdn.microsoft.com/en-us/library/system.transactions.transactionscope%28v=vs.110%29. aspx) найдено здесь – MethodMan