首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >dotConnect: OracleDatabase11g不支持交叉应用

dotConnect: OracleDatabase11g不支持交叉应用
EN

Stack Overflow用户
提问于 2014-06-10 20:27:54
回答 1查看 2.4K关注 0票数 0

我试图使用devart dotConnect 8.4 + EF6.1来执行这个代码块

代码语言:javascript
运行
复制
var menus = (from m in dbSet
             from p in m.RegraAcesso.Perfis
             from u in p.Usuarios
             where u.Id == userId && m.Pai.RegraAcesso.Token.Equals(module)
             select m)
            .Include(p => p.Pai)
            .ToList();

但是它抛出了这个错误:

描述:在执行当前web请求时发生了未处理的异常。请查看堆栈跟踪以获得有关错误的更多信息,以及它起源于代码的位置。

异常详细信息:OracleDatabase11g及更低版本不支持System.NotSupportedException:交叉应用。要正确运行此LINQ语句,需要Oracle 12c或更高版本。如果需要使用Oracle数据库11g或更低版本运行此语句,请重写它,以便将其转换为您使用的Oracle版本所支持的SQL。

我使用的是:dotConnect for Oracle8.4.171.0+ EF6.1 (代码优先)+Oracle11g

它使用dotConnect for Oracle7.5.164.0+ EF4 (代码第一)+Oracle11g

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-13 10:31:22

从12c版本开始,Oracle服务器支持外部应用/交叉应用结构。我们在dotConnect中为Oracle实现了避免生成外部应用/交叉应用(如果可能的话),但如果不使用外部应用/交叉应用,则无法翻译某些LINQ查询。在这种情况下,您应该重写LINQ语句。

此外,随着实体框架引擎的发展,外部应用/交叉应用结构可能会开始生成,在这种情况下,以前的应用程序不会生成。因此,我们还建议您创建一个小型测试项目,并与CodePlex支持联系:https://entityframework.codeplex.com/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24150275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档