EFcore 6 连接oracle19 WinForm vs2022

用EFcore访问Oracle,终于不需要Oracle的什么安装包了,直接在VS2022中就可以轻松搞定。在csdn上看到一哥们的帖子,测试了一下,发现很方便。使用的场景是:VS2022中EFcore6。经过测试,同 Navicat Premium 16比较速度不是很快,从Oracle数据库读,每秒是3000条,而Navicat Premium 16可以做到每秒是3万条。不过只要没有大数据场景,用EF直接使用到了Oracle还是很方便的。

一、NuGet安装EFcore相关的组件,注意大版本要一致:

Oracle.EntityFrameworkCore

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.Tools

二、用一行命令创建数据库实体对象:

diff 复制代码
Scaffold-DbContext "User ID=JHA;Password=密码;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT =1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))" Oracle.EntityFrameworkCore -OutputDir Models -Force

Models 参数:为实体对象存放在项目中的目录。

Force 参数:执行命令时自动覆盖已存在的实体对象,而不会提示用户确认。

三、代码中使用:

cs 复制代码
ModelContext model = new ModelContext();

var q = model.Pods4Pieceplanner2Seresthrees.Where(p => list.ToList().Contains(p.PieceNr)).Select(p => new { p.PieceNr, p.MaterialCode, p.MaterialName, p.WorkPlace, p.Quantity }).ToList();

注意linq查询结果后的ToList(),这个可以把数据全部拉出来,感觉就没有延迟加载了。

相关推荐
ClouGence7 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
ClouGence13 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
曹牧14 天前
Oracle EXPLAIN PLAN
数据库·oracle
贤时间14 天前
codex 助力oracle ebs 开发
数据库·oracle
秉承初心14 天前
PostgreSQL 数据性能瓶颈突破实战
数据库·postgresql·oracle
Curvatureflight14 天前
MySQL 深分页越来越慢?从 LIMIT OFFSET 改成游标分页
数据库·oracle
XZ-07000114 天前
MySQL事务
数据库·mysql·oracle
tiancaijiben14 天前
阿里云函数计算FC如何实现网站的定时任务与自动化
数据库·oracle·dba
xfhuangfu14 天前
Oracle 19c 多租户体系架构介绍
数据库·oracle·架构
杨云龙UP14 天前
Spotlight 接入 Oracle 数据库监控操作指南 2026-06-16
数据库·oracle·性能监控·预警·阈值·spotlight·瓶颈分析