如何阻止XSD设计器在XSD代码绑定中将数据库名称前缀到表中

本文关键字:XSD 数据库 前缀 绑定 何阻止 代码 | 更新日期: 2023-09-27 17:58:54

在ASP.NEt应用程序中,我们有一个XSD文件和一个web.config文件。

在配置文件中,我们有这样指定的连接字符串:

<add name="DbConnectionString" connectionString="Data Source=sqldb;Initial Catalog=TestDB;Persist Security Info=True;User ID=user;Password=password;" providerName="System.Data.SqlClient"/>

在XSD代码绑定中,我们为每个表适配器选择命令都有以下行(自动生成):

<DbSource ConnectionRef="DbConnectionString (Web.config)" DbObjectName="dbo.CUSTOMER" ...

但是,如果我在设计器中打开表适配器查询并修改SQL,那么后面代码中的行将更改为:

<DbSource ConnectionRef="DbConnectionString (Web.config)" DbObjectName="TestDb.dbo.CUSTOMER" ...

它将"TestDb"添加到DbObjectName中指定的表名的开头。

显然,当我们将此网站发布到实时系统时,这是错误的,因为它试图来自TestDB的数据,即使我们在web.config中将连接字符串更改为"LiveDb"。

有人遇到过这种行为吗?有没有一种方法可以停止XSD设计器在表中前缀数据库名称?

感谢

如何阻止XSD设计器在XSD代码绑定中将数据库名称前缀到表中

当您将来自不同数据库的表添加到数据集中时,就会发生这种情况。向数据集中添加表或查询时,不会获取不同的数据库或连接字符串。请检查添加到数据集中的所有表。然后重新创建与当前数据集具有相同问题的表。添加数据集表时不要更改连接名称。使用在web配置中指定的相同连接字符串。

感谢