在這個問題上花了一天之後,我終於明白,問題來自model.edmx文件。
在這個文件中,每個實體集有一行。 在每個EntitySet元素上都有一個名爲schema的屬性。在SQL Server的情況下,這個屬性被設置爲相關表模式:
EntitySet的名稱= 「annee_civile」 的EntityType = 「openemisModel.Store.annee_civile」 店:TYPE = 「表」 模式= 「MyDatabase的」 />
如果constructiong你自己EntityConnection時提供架構的名稱,它似乎有衝突,終於,在EDMX文件中定義的架構將即使您指定一個又一箇中使用連接參數。
該解決方案僅僅是刪除edmx文件中架構的名稱。 這是MYSQL的工作,可能不是連接到SQL服務器時。
EntitySet的名稱= 「annee_civile」 的EntityType = 「openemisModel.Store.annee_civile」 商店:種類= 「表」 模式= 「」/>
的EntityConnectionStringBuilder:
string providedString =「User Id = xxxx; Password = xxx; Host = xxxx; Database = anydatabasename」; EntityConnectionStringBuilder entityConnBuilder = new EntityConnectionStringBuilder();entityConnBuilder.Provider =「Devart.Data.MySql」; entityConnBuilder.Metadata = @「res:// /OpenEmisModel.csdl|resources /OpenEmisModel.ssdl|res/*/OpenEmisModel.msl」; entityConnBuilder.ProviderConnectionString = providedString;
的EntityConnection和使用它的對象上下文:entityConnBuilder
EntityConnection entityConnexionEmis =新EntityConnection(。的ConnectionString);
objectcontextEntities testingContext =新objectcontextEntities(entityConnexionEmis);
該軟件現在能夠連接到任何數據庫名。
希望這會有所幫助。
一個代碼示例將helpful-做它實際上*工作*在調試時,或者只是在ObjectContext中顯示正確的連接字符串? – 2009-08-20 16:03:53