我不能使用配置文件,我必須在運行時初始化數據庫連接。它是SQL Server 2008數據庫。如何處理EF 4.1的運行時動態連接字符串?
由於我更新EF到更新的ADO.NET實體框架4.1 - 更新1,Database.Connection.ConnectionString不再適用於我。配置文件中的連接字符串對我來說工作正常,但我需要動態定義它。所以,我發現其他流行的方式通過DefaultConnectionFactory做這樣的:
Database.DefaultConnectionFactory =
new SqlConnectionFactory("Server=local;Initial Catalog=Db1;Trusted_Connection=True;")
然而,在情況下,我得到了錯誤信息試圖訪問任何DbSet派生類對象:提供者未返回ProviderManifestToken字符串。 ---> System.Data.SqlClient.SqlException:建立到SQL Server的連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:命名管道提供程序,錯誤:40 - 無法打開連接到SQL Server)
更新:我遇到問題只在案件數據庫尚未創建,並應由EF重建。如果存在,則不會發生此類異常,因爲我查詢數據的Db。如果我在配置文件中定義完全相同的連接字符串,這兩種情況對我來說都很好(數據庫生成和數據查詢)
我在做什麼錯? 謝謝
「我不能使用配置文件」 - 嗯....爲什麼不? – RPM1984
,因爲連接字符串只在運行時被知道,它是基於用戶認證動態構建的 – YMC