Я стараюсь избегать передачи соединений любой ценой. Я только что видел, как слишком много ошибок проникает в систему, когда кто-то, например, закрывает соединение в середине последовательности операций, потому что он не знал, что другие будут использовать то же соединение.
Создание SQLConnection почти бесплатное благодаря механизмам пула соединений ADO.NET, поэтому не думайте, что вы собираетесь сэкономить пространство / время, создав его и передав его.
Если, как и в вашей ситуации, вам действительно необходимо выполнить ряд операций с БД в пределах области транзакции, то соответствующим образом управляйте своей областью действия, но создавайте, используйте и распоряжайтесь своими соединениями, как и когда они вам нужны - это ' Поможем сохранить ваш код ОЧЕНЬ чище и безопаснее.