【问题标题】:ORA-00904: "Extent1"."MODIFIED_DATE": invalid identifierORA-00904: "Extent1"."MODIFIED_DATE": 标识符无效
【发布时间】:2018-10-06 16:57:45
【问题描述】:

我正在尝试将我的代码发布到服务器。代码正在运行,但我在某些页面中遇到了一些错误。

错误: ORA-00904:“Extent1”。“MODIFIED_DATE”:标识符无效 在名为 Extent1 的数据库中没有这样的表。

预期行为:当我在开发中运行代码时,它运行良好。当我在不同的服务器上发布代码时,它也可以完美运行。它应该在新服务器中完美运行。

在堆栈跟踪中显示错误发生在这里

E:\Final 中的 BBS.Models.ObjectManager.UserManager.GetDivision() BBS\BBS\Models\ObjectManager\UserManager.cs:136

下面是代码

public List<PDSDIVISION> GetDivision()
{
    Entities2 db = new Entities2();
    IQueryable<PDSDIVISION> idivisions = from e in db.PDSDIVISIONs where e.IS_INTERNAL != 1 select e;
    List<PDSDIVISION> divisions = idivisions.ToList();
    return divisions;
}

PDSDIVISION 列是 ->

  • DIVKEY
  • DIVNAME
  • BDIVNAME
  • IS_INTERNAL
  • DIVCODE
  • LAND_AREA
  • RIVER_AREA
  • 森林区域
  • COMMT_ENG_NAME
  • COMMT_BN_NAME
  • CARD_TYPE
  • 备注
  • CREATED_BY
  • 创建日期
  • MODIFIED_BY
  • 修改日期

我正在使用实体框架 4 和 oracle 11g 数据库。

【问题讨论】:

  • 您使用的是哪种 EF 方法(代码优先还是 DB 优先)?你能看到 EF 在调试中生成了什么样的 SQL 查询来确保 Extent1 别名存在吗?

标签: c# .net asp.net-mvc oracle11g entity-framework-4


【解决方案1】:

仔细检查 Model 类中的列名。我有一个类似的问题,并通过逐行检查每个名称来解决它。

在我的情况下,问题是另外两个字符。例如:

   [Column("PROCESSED_DATE")]
    DateTime DateProcessed { get; set; }

需要更正为:

   [Column("PROCESS_DATE")]
    DateTime DateProcessed { get; set; }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    • 2022-01-22
    • 2011-08-27
    • 2011-04-21
    • 2019-06-29
    • 2013-10-20
    相关资源
    最近更新 更多