在 Microsoft Visual Studio 2013 的 WinForms 中启用 Entity Framework 6 for MySql (C#)

2023-12-13

昨天我知道实体框架是除了使用 Dataset 或 DataReader 之外访问数据库的另一种方法,然后我尝试使实体框架 6 适用于 MVS 2013 中的 MySql 数据库服务器。

我使用 .Net FrameWork 4.5.1 打开 WinForms。 (所以我只有App.config,但项目中没有app/web配置) 我安装后mysql-安装程序-社区-5.7.3.0-m13.msi and

通过安装 EntityFramework 包

工具菜单 -> 库包管理器 -> 管理 NuGet 包 解决方案... -> 在线 -> (搜索) EntityFramework (注意版本 该软件包的版本应该是 6.0.2,如果不是,则单击 更新 -> 要更新的 EntityFramework)

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

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

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

您想使用哪个版本的实体框架? 有选项 Entity Framework 6.0 但您无法使用它,因为

“您的项目引用了最新版本的实体框架; 但是,实体框架数据库提供程序与此兼容 找不到您的数据连接的版本。退出此向导, 安装兼容的提供程序,然后重新构建您的项目 执行此操作”。

怎么解决这个问题呢?

顺便说一句,如果您在 Nuget 包中安装实体框架版本 5,那么您可能会在此处选择实体框架 5.0,并且您可能会成功使用实体框架 5,但不能使用版本 6。


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

  1. 安装最新的mysql-visualstudio-插件
  2. 安装最新的mysql 连接器网络
  3. 新的 C# .Net4.5WinForms 框架(用于4.0它应该基于实体框架 6 支持 .NET 4.0 吗? )
  4. 安装4Nuget 包(按照顺序,如果您在EntityFramework之前安装Mysql.Data.Entities,它将解决依赖关系并安装EntityFramework6.0.2但我们需要的是EntityFramework6.1.0)

实体框架

MySQL数据

Mysql.数据.实体

Mysql.Web

5.如果你有标签实体框架 in 应用程序配置,请注释掉并在标签启动后在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.Add ADO.NET 实体数据模型(如问题中提到的)

7.After 生成实体连接字符串(如问题中所述)并勾选在 App.Config 中保存实体连接设置,然后单击下一步

8.选择您的数据库对象和设置(表、视图或存储过程和函数)(没有“您想使用哪个版本的实体框架?”,因为我有only oneEntity Framework 6.0 提供者如此直接skip如果我唯一的提供商有效,则选择)

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 位窗口)

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

作为您进一步 EF6 功能的项目参考。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Microsoft Visual Studio 2013 的 WinForms 中启用 Entity Framework 6 for MySql (C#) 的相关文章

  • MySQL MIN/MAX 所有行

    我有桌子Races与行ID Name and TotalCP 我选择分钟 TotalCP FROM Races 但是我想选择具有最小值的整行 我如何在单个查询中做到这一点 从聚合值获取整行的一般形式是 SELECT FROM Races W
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c

随机推荐