我发现一个解决方案必须是旧版本然后vs2010.我想知道如何为vs2010做到这一点?有人知道吗?
http://www.csharpbydesign.com/2008/01/overriding-dataset-settings-co.html
让我解释一下细节.
我有ac生成的数据集.如何更改连接字符串,以便将数据集与另一个(结构相同但填充程度不同的)数据库一起使用?这必须在运行时发生,因为我不知道编译时的服务器或数据库名称.我正在使用vs2010和SQL Server 2008 R2 Express
我认为没有简单的方法,你不能以编程方式为整个更改Connection-String,DataSet因为它是为每一个设置的TableAdapter.
您需要使用/创建部分类TableAdapter来更改连接字符串,因为Connection属性是internal(如果您的DAL位于不同的程序集中).不要更改designer.cs文件,因为它将在设计器上的下一次更改后自动重新创建.要创建它,只需右键单击DataSet并选择"show code".
例如(假设TableAdapter被命名ProductTableAdapter):
namespace WindowsFormsApplication1.DataSet1TableAdapters
{
public partial class ProductTableAdapter
{
public string ConnectionString {
get { return Connection.ConnectionString; }
set { Connection.ConnectionString = value; }
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在您可以轻松更改它:
var productTableAdapter = new DataSet1TableAdapters.ProductTableAdapter();
productTableAdapter.ConnectionString = someOtherConnectionString;
Run Code Online (Sandbox Code Playgroud)
这是我的示例DataSet和创建的文件的screesnhot DataSet1.cs:

| 归档时间: |
|
| 查看次数: |
8978 次 |
| 最近记录: |