2015-09-28 197 views
3

我想添加一個ADO.NET實體數據模型到我使用Oracle數據庫(ODP.NET)的解決方案,但我得到以下錯誤:ADO.NET實體框架 - 甲骨文與實體框架6

"Your project references the latest version of Entity Framework; however, an Entity Framework database provider compatible with this version could not be found for your data connection. If you have already installed a compatible provider, ensure you have rebuilt your project before performing this action. Otherwise, exit this wizard, install a compatible provider, and rebuild your project before performing this action."

該對話框還表示它試圖使用Entity Framework 6.x.

我正在使用Visual Studio 2013,它是一個ASP.NET MVC 5 Web應用程序。我爲Windows x64安裝了64位ODAC 12c第3版(12.1.0.2.1)。

回答

1

您必須安裝32位Oracle數據訪問組件(ODAC) 和Oracle Developer Tools for Visual Studio。
您可以從Oracle網站下載它。

+0

我安裝ODAC 12.2C 1版和Oracle開發工具後得到了相同的消息Visual Studio(12.2.0.1.0)。我試圖使用嚮導 - 數據庫中的EF Designer和數據庫中的Code First創建ADO.NET Entoty Data模型。 – erotavlas

0

我面臨着同樣的問題,並寫了一個關於它的here,這是因爲我的App.config文件包含與不同的Oracle管理驅動程序的DLL版本綁定信息,並有一個簡單的解決這個錯誤:)

我只是從App.config文件中刪除這個版本特定的數據並重建應用程序。

所以不是:

<system.data> 
<DbProviderFactories> 
    <remove invariant="Oracle.ManagedDataAccess.Client"/> 
    <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/> 
</DbProviderFactories> 

這將是:

<system.data> 
<DbProviderFactories> 
    <remove invariant="Oracle.ManagedDataAccess.Client"/> 
    <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess"/> 
</DbProviderFactories>