使用 NetCore 或者 Net5、EFCore,連接 Oracle 數據庫,必須安裝 兩個 Nuget 包:
1)、Oracle.ManagedDataAccess.Core ; 2)、Oracle.EntityFrameworkCore;
參考提示(微軟官方文檔): EF Core 數據庫提供程序廣泛使用擴展方法。 如果編譯器指示找不到方法,請確保已安裝提供程序的 NuGet 包,並且你在代碼中已有 using Microsoft.EntityFrameworkCore;
。
https://docs.microsoft.com/zh-cn/ef/core/dbcontext-configuration/
在Context 時,必須引用 using Oracle.ManagedDataAccess.Client; using Oracle.EntityFrameworkCore;
否則,optionsBuilder.UseOracle(@"USER ID=XXX;PASSWORD=XXX;DATA SOURCE=10.10.X.X:1521/chda;PERSIST SECURITY INFO=True") , 的擴展 方法 UseOracle 找不到,它定義在:Oracle.EntityFrameworkCore 中。
=============================================================================
Oracle .NET Developer Center (開發Oracle 的 .Net 開發者中心): https://www.oracle.com/database/technologies/appdev/dotnet.html
Oracle Developer Tools for Visual Studio 2019:
https://www.oracle.com/database/technologies/dotnet-odtvsix-vs2019-downloads.html
-
ODT for VS 2019 19.3.2.0.0(39 MB) ODT Visual Studio Help 19.3(48 MB)
最近使用 ORM框架 (Devexpress 公司的 XPO 的) 連接 Oracle 數據庫,安裝驅動時出現問題,記錄如下備查:
0、XPO 支持多種數據庫,其中 Oracle 的支持如下,參考:
由於項目需要支持 .net5,使用包管理工具安裝 Nuget 包 Oracle.ManagedDataAccess.Core V3.12 。
1、使用Devexpress 公司的 XPO,可以采用 可視化工具直接連接 ORacle。
建立新項目后,新增一個項目(New Item),找到模板(Xpo Wizard),出現下列窗口。
但新增時出現問題,找不到 Oracle.ManagedDataAccess.dll 程序集。
2、安裝 gacutil,此工具可以將 安裝的 Nuget 的 .dll 程序集文件,放入 GAC。
參考:https://blog.csdn.net/weixin_45255662/article/details/105880756 ,通過 visual studio installer工具,增加 “單個組件“,選擇所需的.NET Framework SDK進行安裝,不用都選,選一個就行。
然后就能在 “X:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools” 這個路徑下看到gacutil.exe了。
到這兒應該就可以了,如果還會提醒gacutil不是內部命令的話,再把gacutil.exe所在的““C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools”路徑添加到環境變量path中。
在 CMD 窗口執行: gacutil /i C:\Users\Administrator\.nuget\packages\oracle.manageddataaccess.core\3.21.1\lib\netstandard2.1\Oracle.ManagedDataAccess.dll
安裝成功。
3、重新運行 Wizord ,選擇ODP Managed ,開始工作。