c# - DB First Entity Framework Core 中的 Oracle 将 NUMBER(3) 映射到字节导致运行时异常
问题描述
我正在开展一个正在进行的项目,其中包含现有的 Oracle 数据库。最近,我们计划重组后端代码,并将 EF Core 作为我们的 DAL 主干。之前一切正常。但是,我们刚才遇到了一个问题。
EF Core 中的 Oracle 将实体的列类型与NUMBER(3)
tobyte
作为模型进行映射。AsNUMBER(3)
最多可以容纳 999 个号码,而byte
最多只能容纳256
. 因此,大于 256 的值会引发运行时错误。
我Scaffold-DbContext
用来生成模型类,每个Scaffold-DbContext
都会清除我所有的数据模型并根据当前的数据库表模式重新生成。最终,手动更新模型的数据类型对我来说不是一个解决方案。任何人都可以帮助我解决如何映射NUMBER(3)
到int
/double
永久而不被每个覆盖Scaffold-DbContext
?提前致谢。
解决方案
推荐阅读
- javascript - 延迟过渡效果直到导航关闭
- c++ - 为什么 CreateProcessA 函数给出错误:请求的操作需要提升。但是系统功能是否成功??C++
- javascript - 文本区域的问题
- javascript - 在表单提交中使用默认的 Material-UI 验证
- r - 从R中的函数捕获多个图
- php - 按 2 个值对数组进行排序
- html - 使用填充对齐屏幕中心的两个按钮
- visual-studio-code - 在 vscode 中删除或禁用红点悬停断点
- python - 从 Python 3.6 迁移到 3.7+ 时出现导入错误,从 root_dir 导入根目录不再合法
- python - 将使用 pytube 库下载的文件保存到所需位置