使用Entityframework从Mvc应用程序连接到Mysql

时间:2017-11-30 04:19:36

标签: mysql asp.net-mvc entity-framework

我正在使用visual studio 2015并创建了一个Mvc应用程序,我想连接到MySql数据库。我能够连接到Mysql,我的测试连接结果是成功的。但是,一旦我尝试使用entityframework,我会收到以下错误消息。

我尝试了很多我在网上找到的东西,但对我来说没有运气。我究竟做错了什么?任何文档都会有所帮助

enter image description here

1 个答案:

答案 0 :(得分:0)

我猜你需要安装mysql实体框架库来通过EF连接db

从nuget安装mysql实体框架

 Install-Package EntityFramework
 Install-Package MySql.Data.Entity -Version 6.10.4

如果您的使用Web应用程序需要安装

Install-Package MySql.Web -Version 6.10.4

在某些情况下,您还需要在webconfig中稍微改变一下

将提供商更新为

<providers>
  <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
  <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
连接字符串中的

需要将提供者更改为

 providerName="MySql.Data.MySqlClient" 

并且在某些情况下,如果您遇到像System.Data.StrongTypingException这样的异常:列&#39; IsPrimaryKey&#39;在表中。所以你需要按照下面给出的步骤

  1. 打开服务(services.msc)并重新启动MySQL57服务。
  2. 在MySQL中执行以下命令。 使用&lt;&gt ;; set global optimizer_switch =&#39; derived_merge = OFF&#39;;
  3. 更新.edmx。