[英]asp.net core 6 EF scaffolding with Oracle database
我正在使用 oracle 19 作为后端创建 Asp.net core 6 web api。 我正在使用数据库优先方法并从数据库表创建模型对象。 我使用了以下语法,
scaffold-dbcontext "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=TestDB.Test.com)(PORT=1717))(CONNECT_DATA=(SERVICE_NAME=TestDB)));User Id=usename;Password=password;Persist Security Info=True;Connection Lifetime=100000;" Oracle.EntityFrameworkCore -o ModelFolder -f
注意:我删除了安全数据并在上面的代码中提供了虚拟数据。 我能够从我的后端生成模型。 但是数据库类型有一些问题。 我正在尝试调用 EF 查询来获取数据并面临转换问题。 表列之一是数据类型是 Number(3) 并且模型创建为 Byte?。 当它尝试绑定实体结果时,它给我指定的强制转换无效。 它期待诠释。 我不确定如何解决这个问题。 我不应该将自动生成的模型属性修改为 int。 不确定 asp.net core 与 oracle 是否存在这个持续存在的问题。 请求解决此错误的任何建议。
我正在尝试调用 EF 查询来获取数据并面临转换问题。 表列之一是数据类型是 Number(3) 并且模型创建为 Byte?。 当它尝试绑定实体结果时,它给我
"specified cast is not valid
”
如果您可以添加数据库实体架构定义和asp.net core POCO Class
,那就更好了。 因此,基于错误,您应该考虑以下data types
,这些数据类型通常在Oracle
中被视为与Asp.net core
实体脚手架不一致,同时自动生成。
请检查以下数据类型:
byte?
在 asp.net core 中应该很long
,
short?
应该是int
bool?
如果它包含0
或1
之类的数字,则应将其更改为int
而不是oracle number
应处理decimal
注意:当我们遇到"specified cast is not valid
”时,它的意思是, POCO Class
and data entity model
error mostly related to definition of asp.net core POCO
class which doesn't matched with the database entity defination
。 您可以按照此官方图表进行参考:
可以在official document here
中找到更多详细信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.