.NET EFCore 生成数据库

一、EFCoreDBFirst先有数据库,然后通过映射得到实体(和数据库的表对应)

1.可以通过EfCore带有的api来完成从代码生成数据库

命令:

Install-Package Microsoft.EntityFrameworkCore

Install-Package Microsoft.EntityFrameworkCore.SqlServer  

Install-Package Microsoft.EntityFrameworkCore.Tools

工具--nuget包管理器--程序包管理器控制台:命令执行:

Scaffold-DbContext "Data Source=地址;Initial Catalog=数据库名;User ID=sa;Password=密码" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entity -Force -Context EntityDbContext -ContextDir ./

命令参数:

-OutputDir *** 实体文件所存放的文件目录

-ContextDir *** DbContext文件存放的目录

-Context *** DbContext文件名

-Schemas *** 需要生成实体数据的数据表所在的模式

-Tables *** 需要生成实体数据的数据表的集合

-DataAnnotations

-UseDatabaseNames 直接使用数据库中的表名和列名(某些版本不支持)

-Force 强制执行,重写已经存在的实体文件

二、EFCoreCodeFirst(迁移):代码先行,现有代码再有数据库

1.可以通过EfCore带有的api来完成从代码生成数据库

2.迁移

Install-Package Microsoft.EntityFrameworkCore

Install-Package Microsoft.EntityFrameworkCore.SqlServer  

Install-Package Microsoft.EntityFrameworkCore.Design

迁移命令:CLI命令

创建迁移:migrationname为迁移名称 dotnet ef migrations add migrationName

移除迁移(删除最近的一次迁移) dotnet ef migrations remove

应用所有的迁移(使迁移文件应用到数据库) dotnet ef database update migrationName

生成对应版本的脚本 dotnet ef migrations script

查看迁移列表 dotnet ef migrations list

查看数据库上下文信息 dotnet ef dbcontext info

迁移命令:PMC命令

创建迁移:migrationname为迁移名称 add-migration migrationName

移除迁移(删除最近的一次迁移) remove-migration

应用所有的迁移(使迁移文件应用到数据库) update-database

指定版本进行迁移 update-database migrationName

生成对应版本的脚本 Script-Migration

你可能感兴趣的:(.NET,Core,.net,c#)