2013-05-14 30 views
-2

我的應用程序基於實體框架5,並且連接字符串是動態生成的並在應用程序中使用。這工作正常。唯一的問題是如果我不把連接字符串放在app.config文件中,那麼它會給出一個錯誤。 app.config文件應該包含連接字符串。有什麼辦法,我可以讓我的程序不在app.config文件中找到連接字符串。解決方法是我可以把虛擬連接字符串,但我希望它不應該在app.config文件中查找連接字符串。 請幫忙。 !應用程序不應該在app.config文件中查找連接字符串

在此先感謝..

+0

在哪個上下文中,您是否使用連接字符串?是自動使用還是您自己指定使用? – Flipbed 2013-05-14 10:54:00

回答

0

感謝CodeCaster的回覆。

我正在這樣做。我創建了一個包含靜態方法的類,並且在每個DAL類中我只調用此方法,並使用傳遞的連接字符串創建上下文的實例。

public static myDBEntities getDBContext(String connectionString) { 

     myDBEntities DB = new myDBEntities(); 

     DB.Database.Connection.ConnectionString = connectionString; 

     return DB; 
    } 

我的申請工作正常。沒有問題。我的意思是它需要動態分配的連接字符串,但唯一的問題是,如果我從app.config文件中刪除連接字符串,然後它給我錯誤,它期望在app.config中的連接字符串。所以有什麼設置或者什麼的,這可能導致EDMX不在app.config中找到連接字符串。

您的幫助將不勝感激。 :)

2

的應用程序不看連接字符串,它的圖書館您使用的做到這一點。幸運的是你的問題被標記爲實體框架,所以我想你在某處只是實例化一個new DbContext()。如果你能顯示出錯代碼的哪一行代碼,那將會很好。

當你搜索「實體框架的DbContext通過連接字符串」網頁,你會發現this question其鏈接到manual地方:

public DbContext(string nameOrConnectionString) 

所以,只要提供你的有效的連接字符串在實例化實體框架上下文(不是它的名稱,因爲它再次使它看起來在應用程序的配置中)時的構造函數。

相關問題