Dapper & TransactionScope?
Я только начал играть с Dapper. Пока мне это нравится. Не щеголь, не работает с TransactionScope
? Я заметил, что даже если я никогда не называю TransactionScope.Complete
затем мои изменения по-прежнему фиксируются в базе данных. Если TransactionScope не поддерживается сейчас, есть ли планы на будущее, чтобы поддержать его? Если нет, то вы должны использовать традиционное управление транзакциями (системы.Операции.Сделка)?
Update: я только что говорил с Сэмом через Twitter. Это должно сработать. Я обновлю его завтра утро (на работе) с деталями, чтобы узнать, может ли кто-нибудь понять, почему мои изменения все еще фиксируются в БД, даже когда я никогда не звонил полный.
1 ответов
Это была полностью моя вина и не понимая объект transactionscope. Соединение не включается автоматически в transactionscope, если соединение не открыто в пределах transactionscope:
Автоматическое Прикрепление
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
}
подробности можно узнать здесь: подробности