【发布时间】:2020-06-26 12:09:35
【问题描述】:
我有两个相同的数据库,一个在本地服务器上,另一个在云端。两个连接字符串都存储在 app.config 中。
对于这两个数据库,我在visualstudio中创建了一个数据集及其适配器。
客户端应该能够在运行时通过参数选择他应该使用哪个 tableAdapter。
我想处理同一类中两个数据库的数据(相同的结构和数据)
因此我需要在Test.TestSetTableAdapter 和Test.TestSet1TableAdpater 之间切换。
此外对象TestSet DataSet1也应该匹配所需的类型。
如何在运行时更改对这些适配器命名空间的引用? 或者有没有更好的方法来处理这个问题?
例如:
namespace Test.TestSetTableAdapter
{
partial class valueTableAdapter
{
...
}
}
namespace Test.TestSet1TableAdapter
{
partial class valueTableAdapter
{
...
}
}
namespace Test
{
class database
{
private static TestSet DataSet1;
public Test()
{
DataSet1 = new DataSet1();
}
public string[,] getValues()
{
TestSetTableAdapter.valueTableAdapter value = new TestSetTableAdapter.valueTableAdapter();
value.FillBy(DataSet1.value);
}
}
}
【问题讨论】:
-
适配器来自一个连接。因此,一个应用程序可以有多个连接,并且每个适配器都与一个连接相关联。
-
我认为你的问题不清楚。你能告诉我这两个tableadapter有什么区别吗?或者关于参数选择表适配器的依赖是什么?
-
感谢您的回答。 tableadpaters 从两个不同的数据库中检索相同的数据。因此它们的名称和连接字符串不同。但是,我找到了在运行时更改适配器类型的解决方案。我将变量定义为动态的,并决定在运行时使用哪个适配器。
标签: c# sql visual-studio