EFCore数据库反向工程

之前的大数据比赛取消了,就去弄了另外一个项目。

程序是师兄写的,但是后台数据库不见了,只能自己生成一个数据库来测试,有一个特点是程序运行时会自动生成空的数据表,这样就不用很麻烦的对着java的代码复现数据表结构(ef真香),在写爬虫找数据的时候就想着,能不能用程序把这些表变成实体类呢,网上找了一番,找到了解决方法就重新整理一下记录下了。

源链接:https://www.cnblogs.com/qidakang/p/11302327.html

打开VS,新建一个工程,然后安装如下的包

反向MySQL数据库就安装:

1
2
3
4
MySql.Data.EntityFrameworkCore
Pomelo.EntityFrameworkCore.MySql
Microsoft.EntityFrameworkCore.Tools
Microsoft.VisualStudio.Web.CodeGeneration.Design

反向SqlServer数据库就安装:

1
2
3
4
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Microsoft.VisualStudio.Web.CodeGeneration.Design

安装好后打开[程序包控制台],接着输入

MySQL版本:

1
2
3
4
第一次生成实体类:
Scaffold-DbContext "Server=127.0.0.1;port=3306;Database=db; User=root;Password=root;"Pomelo.EntityFrameworkCore.MySql -OutputDir Models
更新实体类:
Scaffold-DbContext "Server=127.0.0.1;port=3306;Database=db; User=root;Password=root;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -Force

SqlServer版本:

1
2
3
4
第一次生成实体:
Scaffold-DbContext "Server=127.0.0.1;port=3306;Database=db; User=root;Password=root;"Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
更新实体类:
Scaffold-DbContext "Server=127.0.0.1;port=3306;Database=db; User=root;Password=root;"Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force

运行后会多出一个Models文件夹,里面就是这个数据库的所有表