Dapper & TransactionScope?
Я только начал играть с Даппером. Пока мне это нравится. Не работает ли dapper с TransactionScope
? Я заметил, что даже если я никогда не звоню TransactionScope.Complete
, мои изменения по-прежнему сохраняются в базе данных. Если TransactionScope не поддерживается, есть ли в будущем какие-либо планы по его поддержке? Если нет, вам нужно использовать традиционное управление транзакциями (System.Transactions.Transaction)?
Обновление: я только что поговорил с Сэмом над Твиттером. Он должен работать. Я буду обновлять его завтра утром (на работе) с подробностями, чтобы узнать, может ли кто-нибудь понять, почему мои изменения все еще были привязаны к дБ, даже когда я никогда не звонил в полный комплект.
Ответы
Ответ 1
Это была моя ошибка, и я не полностью понял транзакцию. Соединение не будет автоматически занесено в транзакцию, если вы не откроете соединение внутри транзакции:
Автоматический ввод
using (var scope = new TransactionScope())
{
con.Open();
//update/delete/insert commands here
}
Задание вручную
con.Open();
using (var scope = new TransactionScope())
{
con.EnlistTransaction(Transaction.Current);
//update/delte/insert statements here
}
Подробности можно найти здесь: Подробнее