.NetCore 连接 Oracle 数据库,直接C# 或者 ORM框架(EFCore、XPO)
使用 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 ,开始工作。