mysql - "MySql.Data.MySqlClient.MySqlException: Illegal mix of collations for operation ' UNION' 创建新的 ADO NET 模型时 VS 2015

标签 mysql entity-framework

我正在尝试在 Visual Studio 2015 中创建一个新的 ADO 模型,使用 Entity Framework ,连接到本地 MySQL 服务器 目前使用: 英孚 6.2.0, MySQL 连接器 6.9.9 MySQL 服务器 8.0.11

选择数据库和表后,出现此错误:

由于以下异常而无法生成模型:'System.Data.Entity.Core.EntityCommandExecutionException:执行命令定义时出错。有关详细信息,请参阅内部异常。 ---> MySql.Data.MySqlClient.MySqlException:操作'UNION'的排序规则混合非法 在 MySql.Data.MySqlClient.MySqlStream.ReadPacket() 在 MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)

有什么帮助吗?谢谢!

最佳答案

我终于找到了解决方法:

  1. 将 MySQL Connector Net 更新到 6.10.8(我有 6.9.9)
  2. 将适用于 visual studio 的 MySQL 更改为 1.2.8(我有 2.0.5)。出于某种原因,目前建议安装 1.2.8 版本。
  3. 在 Visual Studio 2015 的服务器资源管理器中,我删除了所有数据连接。
  4. 将我的解决方案中的所有项目升级为使用 MySQL.Data 和 MySQL.Data.Entity 到版本 6.10.8(它们都在 6.9.9 上)。注意:重要的是,这些库的版本必须与 MySQL Connector Net(步骤 1)相匹配。
  5. 在执行第 4 步时,我的解决方案中的一些项目出现了问题。尝试更新到 6.10.8 时,Nu-get 打印了以下错误:
Failed to add reference to 'System.ComponentModel'. Please make sure that it is in the Global Assembly Cache.
  1. 我所做的(我找到它 here )是将以下行添加到我遇到错误的每个项目的 .csprj 文件中:

<Reference Include="System.ComponentModel" />

现在看来可以了!

快乐的黑客攻击! 公吨

关于mysql - "MySql.Data.MySqlClient.MySqlException: Illegal mix of collations for operation ' UNION' 创建新的 ADO NET 模型时 VS 2015,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52900332/

相关文章:

c# - Entity Framework实体状态修改不做任何修改

mysql - 从 Java 到 mysql 的正则表达式转换为 '?:'

entity-framework - EntityFramework 中 IdentyUsers 的集合 - 没有定义键

c# - Entity Framework 中的派生类型

.net - ADO.NET Entity Framework 和 NHibernate - 何时使用其中之一

mysql - SQL 字符串不起作用 -> SQL LOWER

python - 如何获取受 SQL Alchemy 影响的行数?

MySQL内部连接在同一个表和对上

php - 从数组中获取特定的 MySQL 数据?

c# - 如何将类(class)添加到列表中?