我正在尝试启动MVC EF Visual Studio 2017项目。我在本地实例上都使用MySQL设置了数据连接,但是当我创建ADO.net数据模型时,出现了以下错误:

c# - VS 2017中的MySQL和MVC Entity Framework 无法正常工作-LMLPHP

这里还有另一篇文章:Can't use a MySQL connection for entity framework 6,涵盖了VS 2012和2013,但未涵盖2017。这是MySQL文档,其中说明了哪些版本适用于2017:https://dev.mysql.com/doc/visual-studio/en/visual-studio-install.html

我在用:

MySQL连接器网6.9.9 |适用于Visual Studio 1.2.7的MySQL | MySQL服务器5.7

MySQL.Data 6.9.9 | MySQL.Data.Entity 6.9.9 | Entity Framework 6.1.3

列出的所有内容均已通过MySQL测试并可以正常工作。我今天刚刚安装了所有新产品,因此没有出色的旧版本。我三重检查;)

连接字符串:
<connectionStrings> <add name="MySQL" connectionString="server=localhost;port=3306;user id=root;password=password;database=localdb" providerName="MySql.Data.MySqlClient" /> </connectionStrings>
编辑

我发现这篇文章https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html讨论了建立连接的问题,但是现在,当我点击“下一步”时,对话框就消失了,而不是该错误。

这是我做错了什么还是MySQL连接器损坏了吗?

在此先感谢您的任何建议!

最佳答案

因此,最终我要做的是创建一个新项目并全新安装了MySQL.Data 6.9.9 | MySQL.Data.Entity 6.9.9 | Entity Framework 6.1.3,然后尝试再次建立数据模型。

差不多成功了!我收到一条错误消息:'System.Data.StrongTypingException: The value for column 'IsPrimaryKey' in table 'TableDetails' is DBNull. ---> System.InvalidCastException: Specified cast is not valid.,但是很多人通过进入MySQL命令行并执行以下操作来解决此问题:set global optimizer_switch='derived_merge=off'您可以在此处找到此错误:https://bugs.mysql.com/bug.php?id=79163

无论出于何种原因,这都可行。这是我的命令行输出,以帮助MySQL的任何新手:

c# - VS 2017中的MySQL和MVC Entity Framework 无法正常工作-LMLPHP

这修复了所有问题!希望有人发现这不会像我那样浪费太多时间。

关于c# - VS 2017中的MySQL和MVC Entity Framework 无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45469056/

10-12 12:49
查看更多