MySQL实体框架6:数据库优先,如何创建类?

i86rm4rw  于 2022-12-03  发布在  Mysql
关注(0)|答案(1)|浏览(153)

到目前为止,我一直在使用EF6和Visual Studio,主要是代码优先,很少数据库优先。
为了导入一些测试数据,有人给了我MySQL中一个数据库的连接。在MySql Workbench中我可以查询数据,所以连接工作正常。
现在我想创建一个Entity Framework Database First项目并导入数据库模型。

  • 创建项目,
  • 添加核心:实体框架最新版本(6.1.3)
  • 添加核心:用于EF 6的MySql.数据.实体
  • 添加新项目

现在呢?有一个EF 6.X DbContext发电机,但这一个不工作,直到我有模型
我可以做我平常做的事:

  • 选择ADO.NET实体数据模型
  • 数据库中的EF Designer
  • 现在呢?如何连接到MySql?
    加法

Mehmet推荐我到MySql EF6 Support(谢谢Mehmet),我在谷歌上搜索的时候第一个出现的页面。也许这是正确的方法,但是我不明白上面写的是什么。添加连接字符串并添加引用(= install nuget package?)我可以处理,但之后就全是希腊语了:

  • 为MySql设置新的DbConfiguration类。* 新的DbConfiguration类 *?哪个DbConfiguration类?在哪里,如何为MySQL设置它?
  • DbConfigurationTypeAttribute添加到DbContext中。唉,我还没有DbContext,这不是代码优先,而是数据库优先:某个向导应该为我确定DbContext中的DbSets

所以也许这是条路,但这对我来说太神秘了。

jhdbpxl9

jhdbpxl91#

1.需要在NuGet管理员

microsoft.EntityFrameworkCore
microsoftEntityFrameworkCore.Tools
Microsoft.NETCore.App
Pomelo.EntityFrameworkCore.MySQL

上安装一些NuGet
1.在拥有所有NuGet之后,您需要将其应用于您的Package Console管理员:

Scaffold-DbContext 
"Server=localhost;Database=database_name;User=root;Password=123456;" 
"Pomelo.EntityFrameworkCore.MySql" -Outputdir Models

这将为您的所有模型创建一个上下文,也将为您的数据库创建一些模型。

相关问题