【问题标题】:ORA-01790 with EntityFrameworkORA-01790 与 EntityFramework
【发布时间】:2011-08-01 06:31:14
【问题描述】:

我正在使用带有 oracle 的实体框架。

我有一张桌子“人” 和一个链接表 'Manager',它有 2 列是 FK 到 'Person' 表。

(第一列是经理,第二列是员工,每个人都有一个经理)

当然,EF 没有生成链接表。

当我试图选择一个人时。包含('Employees')我得到一个 ORA-01790 错误 这意味着'表达式必须具有与相应表达式相同的数据类型'

我想做的就是找一个经理,把他所有的员工都带走。

我在网上阅读了解决方案,没有找到任何答案,

帮助?!

【问题讨论】:

    标签: c# .net oracle entity-framework ora-01790


    【解决方案1】:

    很老的问题要回答,可能与您的问题间接相关。

    Oracle 的实体框架提供程序无法在查询中处理超过 2 个 Include 语句。

    它会生成 Oracle 无法处理的 SQL,从而产生“ORA-01790:表达式必须与相应的表达式具有相同的数据类型”错误。

    这里对此问题的一些讨论: https://community.oracle.com/thread/2349719

    【讨论】:

      【解决方案2】:

      关系中的数据类型不匹配错误通常意味着关键数据类型不兼容,即。键 a 是字符串,键 b 是 int

      我会检查您的数据类型以确保它们匹配

      您能否发布您的代码,以便我们更好地了解导致错误的原因

      【讨论】:

      • 两个键都属于同一个表,所以我不可能有不同的类型
      • 仅仅因为它们是同一个表并不一定意味着它们具有相同的数据类型,如果 a 列是字符串,b 列是整数,那么这些类型在关系中是不兼容的,它们不能直接比较,除非一个转换为实体框架不直接支持的另一种数据类型,您需要更改其中一个列的数据类型以创建关系
      猜你喜欢
      • 2011-02-04
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-27
      相关资源
      最近更新 更多