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" ...
DbObjectName で指定したテーブル名の先頭に「TestDb」を追加します。
web.config で接続文字列を「LiveDb」に変更したとしても、この Web サイトをライブ システムに公開すると、TestDB からデータを取得しようとするため、これは明らかに間違っています。
誰かがこの動作に遭遇したことがありますか? XSD デザイナーがデータベース名のプレフィックスをテーブルに付けないようにする方法はありますか?
ありがとう