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
    }

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

Другие вопросы по тегам