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