クラス ライブラリ、Web サイト、サービスなど、複数のプロジェクトを含むソリューションがあります。
クラス ライブラリやサービスなどのプロジェクトには、同じデータベースへの dbml 接続があります。これは、プロジェクトに次のような接続文字列があることを意味します。
MySolution.ClassLibrary.DatabaseA
MySolution.ClassLibrary.DatabaseB
MySolution.ClassLibrary.DatabaseC
MySolution.Service.DatabaseA
MySolution.Service.DatabaseD
接続文字列を複製しているので、これは少し面倒です。統合の目的で、共有コンポーネントの別のクラス ライブラリも追加しました。これも同じデータベース (異なるテーブル) にアクセスできます。そのため、いくつかの場所で同じ接続文字列のインスタンスが 3 つになりました。
前述のように、これは面倒なだけでなく、バグが発生する可能性もあります。これは、接続文字列が Web サイトまたはサービスにない場合、開発データベースを指そうとすることになるためです (クラスの設定にデフォルト設定されているため)。図書館)。
私が本当に望んでいるのは、接続文字列の非または一般的な名前空間のバージョンを持ち、それをどこでも共有することです。
MySolution.ConnectionStrings.DatabaseA
MySolution.ConnectionStrings.DatabaseB
MySolution.ConnectionStrings.DatabaseC
MySolution.ConnectionStrings.DatabaseD
次に、各 dbml をこれらの接続文字列に向けると、作業は完了です!
問題は、(右クリック > のプロパティ) dbml で接続文字列を変更すると、VS2012 が非常にバグが多いことです。app または web.configs と Settings.settings を混同します。多くの場合、DatabaseConnectingStringA を選択すると、DatabaseConnectionStringA1 という名前の新しいものが作成され、非常にイライラします。また、プロジェクト設定を使用して接続文字列を追加すると、常に独自の名前空間が接続文字列に追加されます。これは dbml に必要です。
VSにこれをさせるためのトリックや方法を持っている人はいますか?