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

时间:2015-03-25 17:50:56

标签: oracle entity-framework entity-framework-6

我一直在尝试使用以下方法从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 - 64bit)
  • 官方Oracle ODP.NET,托管实体框架驱动程序(12.1.021)
  • Microsoft实体框架(6.1.3)

1 个答案:

答案 0 :(得分:5)

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

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

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