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

标签 mysql asp.net-mvc entity-framework

我正在使用 Visual Studio 2015 并创建了一个 Mvc 应用程序,我希望将其连接到 MySql 数据库。我能够连接到 Mysql,并且我的测试连接成功。但是,一旦我尝试使用 Entity Framework ,我就会收到下面的错误消息。

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

enter image description here

最佳答案

我猜你需要安装mysql Entity Framework 库才能通过EF连接db

从nuget安装mysql Entity Framework

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

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

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:表中列“IsPrimaryKey”的值”等异常。所以您需要按照下面给出的步骤进行操作

  1. 打开服务 (services.msc) 并重新启动 MySQL57 服务。
  2. 在 MySQL 中执行以下命令。 使用<>; 设置全局optimizer_switch='衍生_merge=OFF';
  3. 更新 .edmx。

关于mysql - 使用Entityframework从Mvc应用程序连接到Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47565815/

相关文章:

c# - 如果我们只有一系列没有独立工作的调用,MVC4 async await 有什么好处?

c# - EF 不同对象的相同位置

c# - $ 未在 View 中定义

mysql - 创建表作为 select from 子句

java - 从数据库获取日期并在 Java 中进行比较

php - 使用 URL 中的 ID 从 MySQL DB 中选择数据

asp.net-mvc - 单独文件中的全局常量。这是个好主意吗?

entity-framework - EF6 扩展 TPH 层次结构(混合 TPH 和 TPT)

entity-framework - 在 Entity Framework 迁移上执行原始 SQL

mysql - 占用 "too"长的 SQL 查询 - 使用 distinct 和 max 选择