繁体   English   中英

asp.net core 6 EF脚手架与Oracle数据库

[英]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? 如果它包含01之类的数字,则应将其更改为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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM