排查 Entity Framework 6 与 MySQL 的连接问题
简介
尝试在 Entity Framework 6 和 Entity Framework 6 之间建立连接时MySQL,用户在创建 ADO.NET 实体模型时可能会遇到无法选择 MySQL 作为连接提供程序的情况向导。本文深入探讨了潜在原因,并提供了解决此问题的详细解决方案。
分析
初步调查显示,Visual Studio 和 MySQL .Net 的 MySQL 插件连接器已安装在系统上。但是,连接问题仍然存在,表明已安装版本存在兼容性问题。
解决方案 1:安装兼容版本(原始答案)
- 验证MySQL for Visual Studio 插件版本为 1.1.3 GA。
- 确保 MySQL Connector/Net 版本为6.8.3.
- 将“MySql.Data.Entity.EF6.dll”文件从 Connector/Net Assemblies 文件夹复制到“C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDEPrivateAssemblies”文件夹。
解决方案 2:安装缺少的 DLL (编辑)
-
将以下DLL添加到项目:
- “MySql.Data.dll”
- “MySql.Data.Entity.EF6.dll”
- “MySql.Web.dll”
-
修改“web.config”文件更新“EntityFramework”部分:
- “codeConfigurationType”应设置为“MySql.Data.Entity.MySqlEFConfiguration,MySql.Data.Entity.EF6”。
- 添加具有固定名称“MySql.Data.MySqlClient”的提供程序并键入"MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"。
解决方案 3:错误修复(最新编辑)
- 通过 Visual Studio 支持和最新版本安装适用于 Windows 的 MySQL Connector/Net。
- 安装后更新已安装的软件。
- 使用 NuGet 安装 EntityFramework、MySql.Data 和 MySql.Data.Entity。
- 添加 Ado.Net实体模型利用代码优先逆向工程。
重要注意:
- 修改“web.config”文件后必须重新构建项目。
- 使用不同版本的 MySQL 插件和 Connector/Net 可能会出现兼容性问题.
以上是为什么我无法在 Entity Framework 6 中选择 MySQL 作为连接提供程序?的详细内容。更多信息请关注PHP中文网其他相关文章!