1

私は LINQ to SQL を使用して winforms アプリケーションに取り組んでおり、ワークステーションで SQL Express インスタンスを使用してアプリを構築しています。プロジェクトの最終的なインストールは、適切な SQL Server 2005 になります。

データベースは同じ名前で、すべてのテーブルは同じですが、ホスト名が異なります。

アプリをあるマシンから次のマシンに動作させる唯一の方法は、Visual Studio でコードを再度開き、.mdbl から SQL Express インスタンスを参照するすべてのオブジェクトを削除し、プロジェクトを保存し、接続することです。すべての参照をドラッグして元に戻し、リリース用にアプリケーションをもう一度再構築します。

ここでの回答は、app.config/web.config ファイルを簡単に変更できることを示唆しています。これは asp.net で機能しますが、これは winforms アプリケーションです。Visual Studio でアプリを再度開くことなく、LINQ to SQL アプリで新しいデータベースを使用する正しい方法は何ですか?

4

4 に答える 4

1

私があなたの問題を正しく理解していれば、app.config / web.config でデータベースの接続文字列を変更するだけです。

編集、明確化の投稿:接続文字列がどこかに保存されています。それらは、サーバーの app.config にある可能性があります。それでも、どこかからそれらを取得し、そのどこかが app.config にある可能性があります。それを使用してください:)

于 2008-09-08T07:26:04.667 に答える
1

良い解決策の 1 つは、dbml ファイル自体に別の接続を追加することです。これにアクセスするには、デザイン サーフェイスのフィールドを右クリックしてプロパティを選択します。そこから、別の接続文字列を追加できます。すべてを削除して再ドラッグする代わりに、文字列を変更して再コンパイルするだけです。

しかし、派手にやりたい場合は、次の便利なユーティリティ関数を使用して、ローカルで実行されているかどうかをプログラムに自動検出させることができます

そこから、結果に基づいて適切な接続文字列を設定します。

于 2008-09-20T15:52:11.890 に答える
1

より有用な答え...

app.config は、ビルドされると appname.exe.config になります。

Visual Studio を開いて app.config を変更するのではなく、appname.exe.config ファイルを編集してアプリを再起動するだけです。

于 2008-10-02T08:50:44.523 に答える
0

接続情報を app.config ファイルに保存して、そこから取得できると思います。 これは、 LINQ to SQL でそれを行うことに関する投稿です。運用サーバーに展開したら、XML を編集してデータ ソースを変更するだけです。

于 2008-09-08T09:28:12.813 に答える