Oracle ODP.NET 实体框架返回空结果

Posted

技术标签:

【中文标题】Oracle ODP.NET 实体框架返回空结果【英文标题】:Oracle ODP.NET Entity Framework returning empty results 【发布时间】:2015-05-29 13:17:38 【问题描述】:

我一直在尝试使用以下命令从 Oracle 12g 数据库中检索数据:

    using (MyDbContext db = new MyDbContext())
    
        var t = db.MyTable.ToList();
    

底层SQL是:

SELECT 
"Extent1"."TOKEN" AS "TOKEN", 
"Extent1"."FINGERPRINT" AS "FINGERPRINT", 
"Extent1"."EXPIRES" AS "EXPIRES", 
"Extent1"."ISSUED" AS "ISSUED"
FROM "MYSCHEMA"."MYTABLE" "Extent1

我在 Oracle SQL Developer 中运行上述 SQL,它运行良好。

MYSCHEMA.MYTABLE 表中只有 1 条记录,但在调用 .ToList() 时我得到零个结果。

我是否缺少 Oracle 实体框架的某些设置?

从 nuget 使用:

Oracle 11g(11.2.0.1.0 - 64 位) 官方 Oracle ODP.NET,托管实体框架驱动程序 (12.1.021) Microsoft 实体框架 (6.1.3)

【问题讨论】:

【参考方案1】:

显然,当我将新记录插入MYSCHEMA.MYTABLE 表时,我忘记将COMMIT 插入数据库。

因此,Oracle SQL Developer 工具能够向我显示该记录正在成为记录的过程中,但在我提交之前,没有其他外部进程能够检索该记录。

经验教训。也许这个答案对其他人有帮助。

【讨论】:

以上是关于Oracle ODP.NET 实体框架返回空结果的主要内容,如果未能解决你的问题,请参考以下文章

ADO.NET 实体框架 - 带有实体框架 6 的 Oracle

实体框架 6.0 和 oracle 11

有人在使用带有 Oracle 数据库的实体框架吗?

ODP.NET Oracle.ManagedDataAccess 导致 ORA-12537 网络会话结束文件

ODP.NET 过程编译

ASP.NET Oracle ODP.NET 集成安全缓慢