2012-02-29 9 views
1

私は3つの異なるプロジェクトを1つのソリューションにまとめました。私はSQLクラスにLINQを作る別のプロジェクトで今このLINQの別のプロジェクトからSQLへの接続文字列を取得する方法は?

<connectionString name="My Connection String"> 
    <parameters> 
    <parameter name="Integrated Security" value="True" /> 
    <parameter name="server" value=".\SQLEXPRESS" isSensitive="true" /> 
    <parameter name="database" value="MyDatabase" isSensitive="false" /> 
    </parameters> 
    </connectionString> 

のように最初のプロジェクトで私の接続文字列を配置し、それがのapp.configファイルを生成し、その中にそれがあります接続文字列を作りますか?他のプロジェクトの既存の.configファイルから接続文字列を読み取るにはどうすればよいですか?

+0

プロジェクト?あなたはいくつかのクラス/プロパティを介してそれを公開する必要があります – gideon

+0

それを説明できますか? LINQ to SQLクラスの接続文字列を変更して、別のプロジェクトの接続文字列から読み込む必要があります。 –

+0

は 'connectionString'があなたの解決策の' web.config'ファイルか 'app.config'ファイルに設定されていますか? –

答えて

4

私はアプリケーション設定を使用しており、接続文字列がFirstProjectであると仮定しています。このよう

enter image description here

生成された設定のクラスがinternal sealed partial ..をマークされているので、あなたが直接MyProject.Properties.Settings..経由でアクセスすることはできません。

あなたはそれを公開するクラスを作成します。

namespace FirstProject 
{ 
    public class ThisProjectSettings 
    { 
     public static string ConnectionString 
     { 
      get 
      { 
       return Settings.Default.Conn; 
      } 
     } 
    } 
} 

次に、このようなあなたのプロジェクトからそれを使用する:あなたはから別のプロジェクトの接続文字列を取得したい

FirstProject.ThisProjectSettings.ConnectionString 
+1

私はこれについて考えました。しかし、この場合、最初のプロジェクトの参照を2番目に追加したくありません。私はそれが正しいとは思わない、最初はバックエンドであり、2番目はUIであるからだ。彼らは独立しているかもしれません。より一般的なものにするために、より良い方法があります。たとえば、すべてのプロジェクトに対して接続文字列ファイルを作成します。 –

+1

したがって、UIはバックエンドに依存しません。独自の構成ストレージメカニズムを公開することもできますが、実際に行う必要があるかどうかを判断する必要があります。 – gideon

関連する問題