我正在尝试在 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)
有什么帮助吗?谢谢!
最佳答案
我终于找到了解决方法:
- 将 MySQL Connector Net 更新到 6.10.8(我有 6.9.9)
- 将适用于 visual studio 的 MySQL 更改为 1.2.8(我有 2.0.5)。出于某种原因,目前建议安装 1.2.8 版本。
- 在 Visual Studio 2015 的服务器资源管理器中,我删除了所有数据连接。
- 将我的解决方案中的所有项目升级为使用 MySQL.Data 和 MySQL.Data.Entity 到版本 6.10.8(它们都在 6.9.9 上)。注意:重要的是,这些库的版本必须与 MySQL Connector Net(步骤 1)相匹配。
- 在执行第 4 步时,我的解决方案中的一些项目出现了问题。尝试更新到 6.10.8 时,Nu-get 打印了以下错误:
Failed to add reference to 'System.ComponentModel'. Please make sure that it is in the Global Assembly Cache.
- 我所做的(我找到它 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/