2017-01-24 181 views
2

我正在構建一個針對.Net 4.0的應用程序(目前不能更高)。我需要訪問Oracle Db(11g),我想使用實體框架。使用.net 4.0中的實體框架與Oracle數據庫 - 可能嗎?

爲了能夠這樣做,我知道我必須使用:

  • Oracle.ManagedDataAccess
  • Oracle.ManagedDataAccess.EntityFramework

第一個是沒有問題的,但是當我嘗試安裝Oracle.ManagedDataAccess.EntityFramework NuGet包,我收到以下消息:

Coul d不安裝軟件包'Oracle.ManagedDataAccess.EntityFramework 12.1.2400'。您正嘗試將此軟件包安裝到以「.NETFramework,Version = v4.0」爲目標的項目中,但該軟件包不包含與該 框架兼容的任何程序集引用或內容文件。有關更多信息,請聯繫軟件包作者。

當我將目標框架更改爲4.5.2時,軟件包會安裝並且一切正常,所以我假設這個軟件包在某種程度上依賴於.Net框架〜4.5。

是否有任何解決方法使它與.Net 4.0一起使用?

編輯:

只是要清楚,我已經instaled Entity Framework 6.1.3,因爲這是安裝Oracle的EF提供商

回答

1

Oracle.ManagedDataAccess.EntityFramework前提必須EntityFramework依賴(> = 6.0.0 & & < 7.0 .0)所以你可以安裝第一個Entity Framework 6.1.3從Nuget的版本在.Net Framework 4.0工作,然後Oracle.ManagedDataAccess.EntityFramework

+0

好多了。請注意,你可以編輯你現有的答案,而不是刪除和創建一個新的答案(在某些情況下,投票不會改變,但如果你回覆任何評論,你可能會幸運)。 – BradleyDotNET

+0

感謝您的提示。我今天開始回答:) –

+0

沒問題;歡迎來到社區! – BradleyDotNET

1

我有t他同樣的問題,並發現Oracle.ManagedDataAccess.EntityFramework 12.2.1100它是爲.NET 4.5構建的。

Assembly explorer screenshot

所以,我認爲,我們不能與.NET 4.0使用Oracle.ManagedDataAccess.EntityFramework 12.2.1100

UPD: 我收到了從Oracle .NET團隊這種情況的解釋:

: 「甲骨文.NET團隊」

日期:16августа2017年г., 0:58:31

主題回覆:[NuGet Gallery]給包的所有者留言'Or acle.ManagedDataAccess。的EntityFramework」

嗨尤里,

微軟不再支持.NET Framework 4 support for versions 4.5.1 and earlier作爲2016年最新發布ODP.NET一月,甲骨文 遵循支持政策。

Oracle並未更改ODP.NET,因此 只適用於.NET 4.5.2及更新版本。微軟沒有 更改.NET以防止向後兼容性。實際上, 很可能是新的ODP.NET可以與舊的.NET 4 版本一起正常工作。我不知道有任何不兼容。 Oracle只是沒有 官方支持,也沒有認證早期的.NET版本

問候,甲骨文.NET團隊

+1

您是否有任何資源可以引用或其他信息來備份您的答案? – DaveyDaveDave

+0

嗯,這只是我的意見,但我添加了一個截圖來證明它。 – LANimal