ORA-00904:" Extent1"。" IsModified":无效的标识符,

时间:2015-03-11 08:43:58

标签: ef-code-first entity-framework-6

从EDMX开始生成CodeFirst类。当我尝试连接数据库时,我收到此错误。它正在寻找一些不在表中的列。这些列也不在POCO和Fluent Mapping类中。

适用于EDMX,仅针对Codefirst

为什么在查询中添加了以下列?是否有任何属性,方法可以禁用这些列?

因此,我得到以下错误。

An error occurred while executing the command definition. See the inner exception for details.
Inner Exception:ORA-00904: "Extent1"."IsModified": invalid identifier

    public TestContext() :
        base(GetDefaultConnection(), true)
    {
        Database.SetInitializer<TestContext>(null);

        this.Database.Log = Console.Write; 
        Configure();
    }


SELECT 
"Extent1".USERID,
"Extent1".FIRST_NAME,
"Extent1".LAST_NAME,
"Extent1".EMAIL_ADDRESS,
"Extent1".PHONE_NO,
"Extent1".FAX_NO,
"Extent1".ID,
"Extent1"."DisableEvent",
"Extent1"."RowNumberValue",
"Extent1"."IsNew",
"Extent1"."IsModified"
FROM USERS "Extent1"
WHERE (((UPPER("Extent1".USERID)) = :p__linq__0) OR ((UPPER("Extent1".USERID) IS NULL) AND (:p__linq__0 IS NULL))) AND ROWNUM <= 1
-- p__linq__0: 'SYSADM' (Type = String, Size = 6)
-- Executing at 3/11/2015 14:25:40 +05:30

低于实际表格中的列。

 "Extent1"."DisableEvent",
"Extent1"."RowNumberValue",
"Extent1"."IsNew",
"Extent1"."IsModified"
FROM USERS "Extent1" 

1 个答案:

答案 0 :(得分:0)

根据我所看到的,我可以说这些行是用于UOW(工作单元)实现。

基本上这些字段用于Paging - RowNumberValue,IsNew用于标记已添加的实体,IsModified用于实体待定更新。

如果此答案仍然正确,那么ODP https://stackoverflow.com/a/23307234/79379

不支持ef6