VS2019 对 MySQL 使用 Entity Framework
参考阅读[*]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/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除
页:
[1]