Подтвердить что ты не робот

Dapper & TransactionScope?

Я только начал играть с Даппером. Пока мне это нравится. Не работает ли dapper с TransactionScope? Я заметил, что даже если я никогда не звоню TransactionScope.Complete, мои изменения по-прежнему сохраняются в базе данных. Если TransactionScope не поддерживается, есть ли в будущем какие-либо планы по его поддержке? Если нет, вам нужно использовать традиционное управление транзакциями (System.Transactions.Transaction)?

Обновление: я только что поговорил с Сэмом над Твиттером. Он должен работать. Я буду обновлять его завтра утром (на работе) с подробностями, чтобы узнать, может ли кто-нибудь понять, почему мои изменения все еще были привязаны к дБ, даже когда я никогда не звонил в полный комплект.

4b9b3361

Ответ 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
    }

Подробности можно найти здесь: Подробнее