У меня есть целый ряд функций доступа к базе данных, которые предполагают конкретную строку подключения. В моем заявлении я звоню
myList = DB_MyTable.GetTableItems()
и в пределах GetTableItems()
у меня есть что-то вроде
Dim connection As SqlConnection = MyDB.GetConnection
Таким образом, строка соединения находится в одном месте в коде, и я вызываю метод для ее получения.
То, с чем я сейчас сталкиваюсь, это то, что я хочу использовать те же функции базы данных, но с другой строкой соединения. Я могу легко переписать все функции, например DB_MyTable.GetTableItems()
, потому что они сгенерированы из скрипта, но в основном коде приложения мне нужно будет заботиться о каждом вызове функции, который теперь должен знать, какую строку подключения я хочу использовать .
Я попытался изменить аргументы на GetTableItems()
следующим образом:
Public Shared Function GetTableItems(Optional ByVal useThisString as String = MyDB.GetConnection) As List(Of MyItems)
в надежде на возможность передать по умолчанию строку, которую я уже использую в большей части кода, но я получил сообщение о том, что значение по умолчанию должно быть константным выражением. Это означало бы перетекание определенной строки соединения везде, что я не хочу делать.
Есть ли способ выполнить то, что мне нужно, или мне нужно сделать строку подключения обязательным аргументом и изменить все вызовы в моем приложении, чтобы они соответствовали новой подписи?
Спасибо как всегда!