找回密码
 立即注册
首页 业界区 安全 VS2019 对 MySQL 使用 Entity Framework

VS2019 对 MySQL 使用 Entity Framework

胆饬 2025-6-23 13:54:00
参考阅读



  • https://www.cnblogs.com/change4now/p/5840919.html
  • https://www.yanning.wang/archives/454.html
目标环境


  • Visual Studio 2019

    • .NET Framework 4.8

  • MySQL 5.7.44  (remote-server)
需要安装


  • MySQL for Visual Studio v1.2.10

    • 没有这个工具,就不能在Visual Studio里添加与MySQL有关的数据连接

      • 据称有另一种办法是使用Connector/ODBC替代Connector/NET,不过在我的环境中不work,在加载数据库时会出问题,另外ADO数据实体似乎不支持ODBC??

    • 很神奇,这个玩意新版本的2.0.x竟然不支持VS2019,最大支持到2017
    • 此外,这个工具似乎已经停止更新了,没有支持VS2022,所以VS2022的要么退回2019,要么洗洗睡吧

      • PS:很难理解为什么这个工具不再更新了,莫非又是MS和OR之间的爱恨情仇??


  • MySQL Connector/NET 8.0.28

    • 过高的版本似乎不兼容MySQL 5数据库,譬如9.3.0

NuGet:


  • EntityFramework ≤6.2.0

    • 过高的版本在创建ADO数据实体时会因不兼容而阻止产生ADO数据实体对象
    • 尚不确定与EF Core的相性如何

  • MySql.Data

    • 无需NuGet,直接从已经安装的Connector文件夹下4.5.2中对类库添加引用依赖
    • 同理,再添加MySql.Data.EntityFramework,都在同一目录下

构建ORM关联

首先,从“服务器资源管理器”中添加与目标数据库的连接。连接后确保可以正确检索数据、模式完整。
项目中创建“ADO.NET实体数据模型”,自己提供相应的模型名称,并配置先前的连接作为该实体模型的目标。选择对应的表或视图,点击完成。
这个模型将运行一对.tt代码模板,这个模板用于生成与数据库中各个表对应的实体类(数据对象),这也是EF的工作原理——逆向工程。一般而言,这个过程通常时Database First工作模式下所必需的。生成的实体类会位于该ADO对象下,可以直接在项目中使用,也可以自己修改模式,或适应远端服务器数据结构的修改。
如果是Code First流程,从已有的数据实体构建数据库,那么走的是正向构建,通过EF的迁移机制搭建数据库(不过本文场景中不包含这一点,所以也没试过)。
出处:https://www.cnblogs.com/oberon-zjt0806/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册