You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Entity Framework Core 5是否不支持Oracle 10G?使用Scaffold-DbContext反向生成模型报错问题咨询

EF Core 5与Oracle 10G兼容性问题及Scaffold-DbContext报错解决办法

问题本质

你碰到的ORA-00904: "DEFAULT_COLLATION": invalid identifier错误,核心原因是EF Core 5配套的Oracle.EntityFrameworkCore驱动默认使用了Oracle 12c及以上版本才有的系统字段DEFAULT_COLLATION,而Oracle 10G根本没有这个标识符,所以在生成模型时触发了这个异常。这也是为什么你在12c/19c上能正常执行命令,到10G就报错的原因。

关于EF Core 5是否支持Oracle 10G

直接给结论:EF Core 5及对应的Oracle.EntityFrameworkCore 5.x版本已经完全不支持Oracle 10G。Oracle官方从EF Core 3.x开始就逐步停止对10G的兼容支持,到EF Core 5发布时,彻底移除了所有针对10G的适配逻辑。

解决方法

这里提供三种可行的方案,按推荐优先级排序:

1. 降级到支持Oracle 10G的EF Core版本(最快解决)

如果你必须继续使用Oracle 10G,最稳妥的办法是降级到EF Core 2.2 + Oracle.EntityFrameworkCore 2.2.x,这是官方最后一个明确支持Oracle 10G的版本组合。操作步骤如下:

  • 先卸载当前项目中的EF Core 5相关包:
    Uninstall-Package Microsoft.EntityFrameworkCore
    Uninstall-Package Microsoft.EntityFrameworkCore.Tools
    Uninstall-Package Oracle.EntityFrameworkCore
    
  • 安装EF Core 2.2及对应Oracle驱动:
    Install-Package Microsoft.EntityFrameworkCore -Version 2.2.6
    Install-Package Microsoft.EntityFrameworkCore.Tools -Version 2.2.6
    Install-Package Oracle.EntityFrameworkCore -Version 2.2.0
    
  • 重新执行你的Scaffold-DbContext命令(语法和之前完全一致):
    Scaffold-DbContext "DATA SOURCE=XPERTISE.world;PASSWORD=XXX;USER ID=SCHEDULE" Oracle.EntityFrameworkCore -OutputDir Models -Tables MEETINGS -Force
    

2. 迁移数据库到Oracle 12c+(长期最优方案)

Oracle 10G是非常老旧的版本,官方早在2013年就停止了所有支持,存在严重的安全漏洞和性能瓶颈。如果条件允许,强烈建议把数据库迁移到Oracle 12c或更高版本,这样不仅能解决EF Core 5的兼容问题,还能享受到新版本的诸多特性(比如分区表、JSON支持等)以及官方的技术支持。

3. 手动修改Oracle驱动源码(进阶方案)

如果你不想降级EF Core,也可以尝试修改Oracle.EntityFrameworkCore的源码,移除对DEFAULT_COLLATION字段的依赖:

  • 克隆Oracle官方的Oracle.EntityFrameworkCore仓库(注意找对应EF Core 5的分支)
  • 定位到OracleDatabaseModelFactory.cs文件中的GetCollation方法(就是报错堆栈里提到的那个方法),将其中依赖DEFAULT_COLLATION的逻辑替换为Oracle 10G支持的获取 collation 的方式,或者直接注释掉相关代码(如果你的场景不需要 collation 信息)
  • 重新编译驱动,然后把项目中的NuGet包引用替换为本地编译的版本

不过这个方案需要一定的.NET源码编译经验,而且后续官方更新驱动后可能会失效,仅推荐有开发能力的同学尝试。


内容的提问来源于stack exchange,提问作者Oscar Rodriguez Urbina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 09:22:35