Итак, у меня есть сложный набор кода (написанный кем-то другим), в котором есть функция, которая выполняет ряд операций с базой данных перед окончательной фиксацией изменений ().
Вот проблема, хотя, в коде есть подфункции, которые вызываются, такие как getThis или getThat, которые имеют функции execute () и queryDatabase ().Код продолжал вызывать ошибки в некоторых случаях (не во всех случаях), где он зависал при этом "execute" или "queryDatabase".По сути, я думаю, что это связано с тем, что код требует данных из этих команд queryDatabase, прежде чем изменения будут зафиксированы.
После удаления передачи указателя dataAccess на эти подфункции (таким образом, они не являются частью фиксации), внезапно код успешно проходит.
Как правильно использовать Commit (), или я должен просто избавиться от него и не использовать эти функции транзакции?Просто позвольте коду сделать все мгновенно?
Я даже не могу найти последнюю ошибку, просто еще один расплывчатый "параметр соединения нулевой" SystemArgumentNullException, который каким-то образом связан с тем, что он является транзакцией.
System.ArgumentNullException: Value cannot be null
Parameter name: connection
at Data.Database.PrepareCommand(DbCommand command, DbConnection connection)
Трудно опубликовать код, потому что он охватывает как минимум 20 различных файлов (да, оригинальный разработчик не знает KISS).