Я использую SubSonic 2.1 и столкнулся с проблемой при выполнении транзакции с
SharedDbConnectionScope и TransactionScope.
Проблема в том, что в методе obj.Save () я получаю исключение «Соединение должно быть действительным и открытым»
Я отследил проблему до этой строки:
// Loads a SubSonic ActiveRecord object
User user = new User(User.Columns.Username, "John Doe");
в этом конструкторе класса User вызывается метод "LoadParam", который в конечном итоге делает
if (rdr != null)
rdr.Close();
Похоже, что rdr.Close () неявно закрывает мое соединение, что нормально при использовании AutomaticConnection. Но во время транзакции обычно не рекомендуется закрывать соединение :-)
У меня вопрос, если это специально или это ошибка в MySqlDataReader.