2016-02-11 66 views
0

我用EF5和Db優先方法啓動了一個ASP.NET MVC4 Web應用程序。 現在我已將我的模型和上下文移動到MyApp.DataAccess類庫項目中。我添加了MyApp.DataAccess參考MyApp.Web。我有什麼與我Web.config,尤其是本節的事:如何使用EF5和Database First方法在ASP.NET MVC4 Web App中重構web.config?

<connectionStrings> 
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=..." /> 
    <add name="MyOldEntities" connectionString="metadata=res://*/Models.OldDbModel.csdl|res://*/Models.OldDbModel.ssdl|res://*/Models.OldDbModel.msl;provider=System.Data.SqlClient;provider connection string='data source=&quot;<MyDbServerIp, MyPort>&quot;;initial <LoginData>;MultipleActiveResultSets=True;App=EntityFramework'>" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 

編輯: 錯誤消息:Unable to load the specified metadata resource

+0

呃什麼都沒有?我在所有項目中都使用這種方法,你爲什麼認爲你需要改變任何東西?有什麼不工作? –

+0

好吧,我從一個項目中的所有圖層開始。現在我將我的數據移動到一個新的類庫項目中,並生成一個新的DbContext。我添加的引用允許我訪問我的所有對象,但是我的設置不再有效。我可以根據我的新引用生成新的web.config,還是在我添加引用時自動更新?可能還有一個命名空間問題... ErrorMsg是'無法加載指定的元數據資源' – Frank

+0

您實際上沒有包含完整的連接字符串,因此如果我看不到它,很難說出什麼錯誤。 –

回答

0

基於this answer,我不得不改變

connectionString="metadata=...App=EntityFramework'" 

connectionString="metadata=...application name=EntityFramework'" 
+0

我想說,答案是錯誤的,你甚至不需要一個app.config web.config應該由單獨的程序集使用。 –

+0

我還沒有接受答案,所以即時通訊其他解決方案。我的edmx文件在'MyApp'中,現在在'MyApp.DataAccess'中。順便說一句這個答案的作品 – Frank

相關問題