一尘不染

在Microsoft Visual Studio 2013的WinForms中为MySql(C#)启用实体框架6

mysql

昨天,我知道除了使用Dataset或DataReader之外,Entity Framework是访问数据库的另一种方法,然后我尝试使MVD
2013中的MySql数据库服务器可以使用Entity Framework 6。

我使用.Net FrameWork 4.5.1打开WinForms。(所以我在项目中只有App.config但没有app / web配置)安装mysql-
installer-
community-5.7.3.0-m13.msi

通过安装EntityFramework软件包

工具菜单->库软件包管理器->管理解决方案的NuGet软件包…->联机->(搜索)EntityFramework(请注意此软件包的版本,应该为6.0.2,如果没有,请单击更新->
EntityFramework更新)

当我尝试通过添加ADO.NET实体数据模型时

右键单击项目->添加->新建项目-> ADO.NET实体数据模型->从数据库生成->新建连接->数据源:->更改…->
MySQL数据库->填写服务器名称为服务器IP,用户名和密码->选择数据库名称->测试连接->确定

然后生成实体连接字符串->在App.Config中勾选将实体连接设置保存为->下一步>->

您要使用哪个版本的Entity Framework?有选项Entity Framework 6.0,但是您不能使用它,因为

“您的项目引用了最新版本的Entity Framework;但是,找不到与该版本兼容的Entity
Framework数据库提供程序用于您的数据连接。在执行此操作之前,请退出此向导,安装兼容的提供程序并重新构建您的项目”。

如何解决呢?

顺便说一句,如果您在Nuget软件包中安装了Entity Framework 5,则可能在此处具有Entity Framework
5.0选项,并且您可能会成功使用Entity Framework 5,但没有使用版本6。


阅读 277

收藏
2020-05-17

共1个答案

一尘不染

首先,我们 甚至不需要 安装mysql-installer- community -5.7.3.0-m13.msi。

  1. 安装最新的mysql-visualstudio-plugin
  2. 安装最新的mysql-connector-net
  3. 新的C#.Net 4.5 框架WinForms(对于 4.0, 它应该基于Entity Framework 6是否支持.NET 4.0?
  4. 安装4个 Nuget程序包 (按照顺序,如果在EntityFramework之前安装Mysql.Data.Entities,它将解析依赖关系并安装EntityFramework 6.0.2, 但我们需要的是EntityFramework 6.1.0

实体框架

MySQL数据

Mysql.Data.Entities

Mysql.Web

5.如果您在 App.config中* 具有 标签EntityFramework
,请对其进行注释,并在标签启动后在App.config中插入新标签EntityFramework
*

  <entityFramework>
    <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
    </providers>
  </entityFramework>

6,添加 ADO.NET实体数据模型 (如上所述)

7. 生成实体连接字符串 (如所提到的)并在App.Config中打勾保存实体连接设置后,单击下一步

8. 选择数据库对象和设置 (表,视图,或存储过程和函数)(不要有“你想要哪个实体框架的版本使用?”因为我 只有一个
实体框架6.0提供商所以直接 跳过 了如果我唯一的提供者有效,则选择)

9,完成

恭喜^^

顺便说一句,您可能需要添加.dll文件

  • MySql.Data.dll
  • MySql.Data.Entity.EF6.dll
  • MySql.Web.dll

在此文件夹内

C:\ Program Files \ MySQL \ MySQL Connector Net 6.8.3 \ Assemblies \
v4.5(32位Windows)

C:\ Program Files(x86)\ MySQL \ MySQL Connector Net 6.8.3 \ Assemblies \
v4.5(64位Windows)

作为进一步E​​F6功能的项目参考。

2020-05-17