我將我的DAL從使用LINQ切換到實體框架。因爲我的應用程序根據當前用戶連接到不同的數據庫,所以我需要在運行時動態創建DataContext並傳遞適當的連接字符串。但是,當我嘗試以編程方式使用舊連接字符串創建實體框架連接時,連接失敗。它抱怨說,它不能識別連接字符串中的密鑰,「服務器」是確切的。爲什麼實體框架連接需要元數據屬性?
我發現我需要這樣做是爲了得到實體框架連接的工作:
EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
entityBuilder.Provider = "System.Data.SqlClient";
entityBuilder.ProviderConnectionString = clientConnectionString;
entityBuilder.Metadata = "res://*/xxxxxxxxxx.csdl...";
Entities entities = new Entities(entityBuilder.ToString());
這是爲什麼?
什麼是元數據屬性?
這是一個問題,它總是相同的多個不同的連接?
它應該是什麼?
有沒有辦法解決這個問題?
在此先感謝!
更新1: 感謝您的更新Randolpho,但...
我有這個問題的全部原因,是我不能連接字符串存儲在配置文件中。連接字符串在運行時由用戶連接動態確定。
這是我確切的情況:
如果用戶A連接,應用程序從數據庫A.如果用戶B連接中提取數據,應用程序從數據庫B.
的連接字符串存儲在主拉數據數據庫,這個數字可能是無限的。每次添加用戶時,我都不想進入web.config,更不用說它最終會變得非常龐大!
由於映射對於每個連接都是相同的,並且它不會改變,因此我爲它們使用相同的元數據並不重要? – 2009-01-30 21:40:20
是的,這是正確的 – user230910 2016-12-27 08:48:24