我正在尝试启动MVC EF Visual Studio 2017项目。我在本地实例上都使用MySQL设置了数据连接,但是当我创建ADO.net数据模型时,出现了以下错误:
这里还有另一篇文章: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 无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45469056/