Tim*_*ess 7 .net oracle entity-framework
oracle数据库中的字段类型number(10)
,大于.net Int32
范围.我现在使用实体框架从该表中获取数据,并将其映射到该表的数据库实体.但是,当我获取数据时,我收到此错误:
var competitions = db.PKG_API_PORTAL_SP_GETFBCOMPETITION().ToList();
Run Code Online (Sandbox Code Playgroud)
键字段''的类型应为'System.Int32',但提供的值实际上是'System.Int64'类型.
我发现这个问题Oracle Data Provider要CLR类型映射
以下是解释数据类型如何翻译的文章 http://www.devart.com/dotconnect/oracle/docs/DataTypeMapping.html
但现在我需要一个解决方案来解决这个问题.
小智 0
我假设由于您将 DotConnect For Oracle 与 EF 一起使用,因此您将从投影到数据类型的函数/SP 返回 Refcursor。
您可以通过三个选项来解决该问题: 1- 将要映射的对象中的类型更改为 Int64。这是最简单的解决方案。如果您使用实体开发人员,只需在映射中选择类型,将类型更改为“int64”,单击“确定”,重新生成您的类。
2- 更改返回的 Refcursor,将数字 (10) 向下转换为数字 (9)。这可能会损害性能,并最终会破坏某些东西,所以我不推荐它。
归档时间: |
|
查看次数: |
880 次 |
最近记录: |