我正在使用MySQL的Entity Framework.以下查询会导致错误:

var foobar = ctx.ArticleBase.OfType().Include("CreatedBy.Image.Location").ToList();

错误:“MySQL不支持外部应用”我也在一个不同的查询中得到“MySQL不支持交叉应用”.

除了Image实体有Location实体(一对多关系)命名的Location关系,UserBase有Image关系而不是UserSpecial.

为什么我会收到此错误?如何避免这个错误?可能吗?

解决方法:

如果此错误来自MySQL,则会发生以下两种情况之一:

>您尚未正确配置提供程序.

>您的EF提供商中存在错误.

如果此错误来自您的MySQL EF提供程序,则会发生以下两种情况之一:

>您尚未正确配置提供程序.

>您的EF提供商有限制.

SQL由提供程序生成.您可以通过ProviderManifestToken attribute in EDMX配置特定于服务器版本的SQL生成.这是您告诉提供程序不要使用旧服务器版本不支持的SQL功能的方法.

某些MySQL存储引擎可能支持其他人没有的SQL功能.在这种情况下,提供程序需要使用大多数引擎支持的公共功能子集,或者使用ProviderManifestToken来允许您选择.

但是,有缺陷的提供程序也可能只返回不正确的SQL.如果是这种情况,那么您必须找到更新或避免触及该错误的查询.

更新:根据@ Devart的回答,似乎这是供应商的限制,由于MySQL的限制而设计. EF将生成一个ADO.NET规范命令树.提供者有责任将其转换为SQL.如果EF在CCT中返回交叉/外部应用节点,似乎Devart还没有找到将其转换为MySQL可以处理的SQL的方法.因此要么MySQL不能支持所有EF查询,要么是MySQL专家(不是我!)需要向Devart展示如何生成与MySQL兼容的SQL,它可以正确地返回行以进行交叉/外部应用CCT节点.

标签:mysql,entity-framework,devart

来源: https://codeday.me/bug/20190518/1130570.html

OUTER在mysql_MySQL不支持OUTER APPLY相关推荐

  1. SQL中的left outer join,inner join,right outer join用法 (左右内连接)

    SQL语句中的left outer join,inner join,right outer join用法 left outer join=left join ,   right outer join= ...

  2. pandas使用merge函数将多个dataframe数据连接起来、设置how参数为outer指定全连接(outer join)、left_on参数指定左侧dataframe的连接字段

    pandas使用merge函数将多个dataframe数据连接起来.设置how参数为outer指定全连接(outer join).left_on参数指定左侧dataframe的连接字段.right_o ...

  3. SQL中的left outer join,inner join,right outer join用法

    使用关系代数合并数据 1 关系代数 合并数据集合的理论基础是关系代数,它是由E.F.Codd于1970年提出的. 在关系代数的形式化语言中: ?          用表.或者数据集合表示关系或者实体. ...

  4. SQL中的left outer join,inner join,right outer join用法详解1

    LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行. LEFT JOIN 关键字语法 SELECT column_ ...

  5. java outer什么意思_java里面outer、 inner是什么意思

    匿名用户 1级 2010-03-19 回答 outer inner  分别指的是循环的外层 内层,可以认为是一个名字吧,要跳出的时候可以直接用比如break outer,跳出外层循环,也可以代表内部类 ...

  6. SQL中的left outer join,inner join,right outer join用法详解

    SQL提供了多种类型的连接方式,它们之间的区别在于:从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同. 连接类型                                       ...

  7. eomj表情 mysql_mysql 数据库支持emjoy表情

    数据库支持emjoy表情 对于emjoy表情,插入数据库的时候总是报错如下:Incorrect string value: '\xF0\x9F\x98\x8D' for column 'REAL_NA ...

  8. full join 和full outer join_带你了解数据库中JOIN的用法

    前言 欢迎关注公众号:Coder编程 获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识! 本章主要介绍数据库中Join的的用法,也是我们在使用数据库时非常基础的一个知识点.本次会介绍数据库 ...

  9. 干货 | SQL 外部联接 Outer Join

    外部联接(Outer Join)是所有 SQL 联接类型中最不为人知的.也许是因为与其他联接类型相比,外部联接的需求较少.无论如何,外部联接本身并没有什么奇特的.正如我们将在这篇文章中看到的几个外部联 ...

最新文章

  1. 白天鹅黑天鹅灰天鹅?手把手教你用卷积神经网络搞定识别
  2. html5 实现手机摇一摇功能(C)
  3. getOutputStream() has already been called for this response
  4. Android屏幕适配的一些常识
  5. 游戏运营期间我的项目开发经验总结——纪律性和卡顿处理
  6. 愚蠢的领导才会用程序员祭天!!
  7. HDOJ/HDU 2555 人人都能参加第30届校田径运动会了(判断加排序~)
  8. Matlab2016a如何关联M文件
  9. LeetCode之 x 的平方根
  10. Canny边缘检测 原理python代码
  11. 实例mysql范式_数据库范式的范式应用实例
  12. 快捷键你到底知道多少(Pr篇)
  13. 尘梦留痕:苏东坡的诗词里,藏着六种人生智慧
  14. SAP 云平台 (Cloud Platform) 架构概述
  15. AI 人工智能包含的领域方向
  16. iOS直播实用篇(手把手教)
  17. 搭建一个属于自己的博客平台
  18. Qt 事件过滤器(秒懂)
  19. linux aux是什么命令,Linux命令ps aux详细解释
  20. pyhton爬诛仙小说

热门文章

  1. java无阻塞执行脚本,JAVA调用Shell脚本-及阻塞的解决方法
  2. vb 怎样指定 dll 引用路径_C#/VB.NET 比较两个Word文档差异
  3. 零基础入门学习Python(36) 类和对象:继承
  4. MetaWRAP分箱流程实战和结果解读
  5. Evolview:提升系统进化树颜值
  6. numpy使用diagonal函数和sum函数计算矩阵的迹(trace)、使用T函数对矩阵进行转置(transpose matrix)
  7. R语言使用caret包构建gbdt模型(随机梯度提升树、Stochastic Gradient Boosting )构建回归模型、通过method参数指定算法名称
  8. pandas自定义设置dataframe每个索引的标签、自定义设置索引的列名称(customize index name and index label)
  9. 使用Oracle instantClient代替Oracle Client安装
  10. python代码实现二叉树中最低的公共祖先