小编Ped*_*eca的帖子

ODAC 11.2版本4(11.2.0.3.0)抛出"Oracle 11.2.0.2.0不支持APPLY"异常

我正在使用实体框架与oracle刚刚发布的新ODAC.

我的问题是,我在以前的测试版中工作的一些查询在这个新版本中停止工作.

这是一个例子:

IQueryable<SYS_PERFIL> query1 = m.DBContext.SYS_PERFIL.Where(T => T.SYS_UTILIZADOR.Where(TT => TT.ACTIVO == 1).Count() > 0);

IQueryable<SYS_PERFIL> query2 = m.DBContext.SYS_PERFIL.Where(T => T.SYS_UTILIZADOR.FirstOrDefault(TT => TT.ACTIVO == 1) != null);

string test1Query = ((System.Data.Objects.ObjectQuery)query1).ToTraceString();

string test2Query = ((System.Data.Objects.ObjectQuery)query2).ToTraceString();

var test1 = query1.ToList();

var test2 = query2.ToList();
Run Code Online (Sandbox Code Playgroud)

当test1返回当前结果时,test2抛出一个oracle异常'ORA-00905:missing keyword',并带有消息:'Oracle 11.2.0.2.0不支持APPLY'.

我不想重新测试我的所有方法.有没有办法告诉EF不要使用申请?

以下是EF生成的查询:

test1Query:

SELECT "Project1"."PERFIL_ID" AS "PERFIL_ID" FROM ( SELECT "Extent1"."PERFIL_ID" AS PERFIL_ID", (SELECT COUNT(1) AS "A1" FROM "SMI2012"."SYS_UTILIZADOR" "Extent2" WHERE (("Extent1"."PERFIL_ID" = "Extent2"."PERFIL_ID") AND (1 = "Extent2"."ACTIVO"))) AS "C1"
 FROM "SMI2012"."SYS_PERFIL" "Extent1")  "Project1" …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework odp.net entity-framework-4 odac

8
推荐指数
1
解决办法
3226
查看次数

标签 统计

c# ×1

entity-framework ×1

entity-framework-4 ×1

odac ×1

odp.net ×1