私のソリューションには 2 つのプロジェクトがあります。リポジトリ クラスを介して Entity Framework .edmx ファイルからデータを生成するクラス ライブラリ。App.Config ファイル connectionString は、2 番目の ASP.Net 4.0 Web フォーム プロジェクトの Web.config と一致します。
テスト サーバーにデプロイするときに、両方の connectionString を変更して、テスト データベース (DataSource=TestDB) を指すようにします。ライブ サイトにデプロイするときに、ライブ データベース (DataSource=LiveDB) を指すように両方を変更します。
Site.Master の上部にあるラベル コントロールに、"You are connected to the TEST database" という赤い文字で表示されます。ラベルの .Visible プロパティを条件付きで切り替えますif (context.Connection.DataSource.Contains("TestDB"))
開発中に、私は奇妙なことに気付きました。Web.config が TestDB を指しているときに、App.config を一致させるのを忘れた (そしてそれが LiveDB を指している) 場合、"connected to TEST" という警告が表示されますが、LiveDB からのデータは表示されます。
これは、リポジトリ (クラス ライブラリ) が App.Config を使用しているが、Web フォーム プロジェクトで作成されたデータ コンテキストが Web.config connectionString を使用していることを示しています。あれは正しいですか?テスト サイトにデプロイし、App.Config を TestDB にポイントするのを忘れると、ライブ データが正しく更新されないのではないかと心配しています。
だから私の質問は、このシナリオでは...常に正確な「テストデータベースに接続」という通知を表示する最良の方法は何ですか?