实体框架,将oracle数据库类型号(10)映射到.net Int32

前端之家收集整理的这篇文章主要介绍了实体框架,将oracle数据库类型号(10)映射到.net Int32前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
oracle数据库中的字段,类型编号(10),大于.net Int32范围.
我现在使用实体框架从该表中获取数据,并将其映射到该表的数据库实体.但是,当我获取数据时,我收到此错误
var competitions = db.PKG_API_PORTAL_SP_GETFBCOMPETITION().ToList();

The type of the key field ” is expected to be ‘System.Int32’,but
the value provided is actually of type ‘System.Int64’.

我发现了这个问题Oracle Data Provider to CLR type mapping

这是解释数据类型如何翻译的文章
http://www.devart.com/dotconnect/oracle/docs/DataTypeMapping.html

但现在我需要一个解决方案来解决这个问题.

我假设你正在使用带有EF的DotConnect For Oracle,你从函数/ SP返回一个Refcursor,它被投射到一个数据类型.

您有三个选项可以解决此问题:
1-将要映射的对象中的类型更改为Int64.这是最简单的解决方案.如果您正在使用实体开发人员,只需在映射中选择类型,将类型更改为“int64”,单击“确定”,重新生成类.

2-更改返回的Refcursor,将数字(10)向下转换为数字(9).这可能会损害性能,并最终会破坏某些东西,所以我不推荐它.

原文链接:https://www.f2er.com/oracle/205031.html

猜你在找的Oracle相关文章