2012-02-29 87 views
1

我在一個解決方案中有3個不同的項目。我把我的連接字符串中的第一個項目這樣如何從LINQ to 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> 

現在在另一個項目中,我做的LINQ to SQL類,它生成的app.config文件,使它的連接字符串中呢?我怎樣才能從我的exisiting .config文件從另一個項目中讀取連接字符串?

+0

你想從另外一個項目的連接字符串項目?你只需要通過一些類/屬性 – gideon 2012-02-29 06:49:11

+0

公開你能解釋它嗎?我想改變我的LINQ to SQL類的連接字符串,從另一個項目的連接字符串中讀取它。 – 2012-02-29 06:51:48

+0

是否在你的解決方案中的'web.config'或'app.config'文件中設置了'connectionString'? – 2012-02-29 06:54:39

回答

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

我想過這個。但在這種情況下,我不想將第一個項目的參考添加到第二個項目中。我不認爲它是正確的,因爲第一個是後端,第二個是UI。他們可能是獨立的。那麼更好的方法是讓它更通用。例如,爲所有項目建立連接字符串文件。 – 2012-02-29 07:51:06

+1

所以UI不以任何方式依賴後端?你可以推出你自己的配置存儲機制,但你應該弄清楚你是否真的需要這樣做。 – gideon 2012-02-29 08:26:43

相關問題