Asp.net MVC + EF6.0 常常出現的問題

1.運行視圖時出現問題:未能加載文件或程序集「EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089」或它的某一個依賴項。找到的程序集清單定義與程序集引用不匹配。 (異常來自 HRESULT:0x80131040)web

緣由:EntityFramework版本不一致時形成的。架構

解決辦法:查看全部引用的EntityFramework版本是否一致(不一致時,儘可能不要修改實體中的EntityFramework版本)框架

2.System.InvalidOperationException」類型的異常在 EntityFramework.dll 中發生,但未在用戶代碼中進行處理其餘信息: 在應用程序配置文件中找不到名爲「OAEntities」的鏈接字符串。ide

緣由:Config沒有對應的鏈接字符串spa

解決辦法:查看實體中的App.config EF鏈接字符串是否在Web.Config中也有。字符串

3.指定的架構無效。錯誤 :  DataModel.ssdl(2,2) :  錯誤 0152:  未找到具備固定名稱 「System.Data.SqlClient」的  ADO.NET  提供程序的實體框架提供程序。請確保在應用程序配置文件的 「entityFramework」 節中註冊了該提供程序it

解決辦法:io

 將如下代碼添加至web.config配置文件中便可: < entityFramework >配置

    < providers >引用

      < provider   invariantName = " System.Data.SqlClient "   type = "System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer "  />

    </ providers >

</ entityFramework >

添加完以後又會出現如下問題: 

2.沒法爲具備固定名稱「System.Data.SqlClient」的 ADO.NET 提供程序加載在應用程序配置文件中註冊的實體框架提供程序類型「System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer」。請確保使用限定程序集的名稱且該程序集對運行的應用程序可用。有關詳細信息,請參閱 http://go.microsoft.com/fwlink/?LinkId=260882。

解決辦法:

爲Web項目添加EntityFramework.SqlServer.dll的引用便可(可經過NuGet查找並引用)。

相關文章
相關標籤/搜索