У меня есть приложение asp.net nTier. Уровнем доступа к данным является DataSet со строгим контролем типов, состоящий из нескольких DataTables с DataAdapters. Когда пользователь входит в систему, они выбирают который база данных соединиться с (от таблицы в базе данных членства). Я должен передать строку выбранного соединения в объект DataSet, который останется тем же для этого пользователи, пока они не войдут в систему снова.
Я думаю, что ответ мог бы быть должен создать частичный класс объекта DataSet, куда я могу передать строку подключения в конструктора. Я не уверен, как пойти об этом все же.
Удачи
Вы можете сделать это с частичным классом.
Предполагая, что ваш набранный набор данных называется Hurrdurr:
public partial class HurrDurr
{
public HurrDurr(string connex)
{
this._connection = new global::System.Data.SqlClient.SqlConnection();
this._connection.ConnectionString = connex;
}
}
_connection инициализируется только в том случае, если оно не имеет в первую очередь, в первую очередь подключение внутреннее свойство доступно.
Наконец-то добрался до сути. В новом модуле я создал частичный класс к табличному адаптеру, в котором мне нужно было изменить строку соединения, одной из ошибок, которую я делал изначально, было не указание правильного пространства имён.
Ниже приведен частичный класс, который я создал и который позволил мне динамически изменять строку соединения одного из моих адаптеров таблицы для таблицы под названием tblOptions:
Namespace ds1TableAdapters
Partial Public Class tblOptionsTableAdapter
Sub ChangeConnString(ByVal newConn As String)
Me._connection.ConnectionString = newConn
End Sub
End Class
End Namespace
Спасибо за помощь Will, это заставило меня двигаться в правильном направлении.