DB First Entity Framework Core 中的 Oracle 将 NUMBER(3) 映射到字节导致运行时异常

问题描述

正在进行一个包含现有 Oracle 数据库的项目。最近,我们正在计划重构我们的后端代码,并将 EF Core 作为我们的 DAL 主干。之前一切正常。但是,我们刚刚遇到了一个问题。

EF Core 中的 Oracle 将实体的列类型与 NUMBER(3) 映射到 byte 作为模型。因为 NUMBER(3) 最多可以容纳 999 个号码,而 byte 最多只能容纳 256。因此,>256 的值会引发运行时错误

我正在使用 Scaffold-DbContext 生成模型类,每个 Scaffold-DbContext 将清除我所有的数据模型并根据当前的数据库表模式重新生成。最终,手动更新模型的数据类型对我来说不是解决方案。任何人都可以帮助我解决如何将 NUMBER(3) 永久映射到 int/double 而不会被每个 Scaffold-DbContext 覆盖?提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)