Entity Framework Core生成数据库表
一、引言
生成数据库表有下面的三种方式:
- 代码生成。
- 程序包管理器控制台迁移。
- 命令行迁移。
下面分别介绍上面的三种方法。
二、具体示例
1、代码生成
在程序里面执行下面的代码可以在运行时生成数据库:
dbContext.Database.EnsureCreated()
其中dbContext是数据上下文的实例对象。看下面的代码:
using EFCore.Data;
using System;
namespace EFCore.Con
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
// 实例化数据上下文对象
EFDbContext dbContext = new EFDbContext();
// 生成数据库
bool tfTrue = dbContext.Database.EnsureCreated();
if (tfTrue)
{
Console.WriteLine("数据库创建成功!");
}
else
{
Console.WriteLine("数据库创建失败!");
}
Console.ReadKey();
}
}
}
运行程序,查看效果:
提示创建成功,我们去数据库查看,发现会自动创建数据库,并且添加了表:
这种方式只能执行一次,如果再次执行,就会提示创建数据库失败。
2、程序包管理器控制台迁移
使用程序包管理器控制台迁移的方式分为三个步骤。
1、安装Microsoft.EntityFrameworkCore.Tools包
由于迁移需要使用到Microsoft.EntityFrameworkCore.Tools包,所以先要在EFCore.Data类库项目上安装这个包,直接在NuGet里面安装即可。
这里是把EFCore安装在一个单独的类库项目里,所以作为启动项的控制台程序也要安装这个包。
2、添加迁移命令
使用下面的命令可以生成一个迁移:
Add-Migration Init_First
其中Init_First是为这次迁移起的一个名称,如下图所示:
执行完迁移命令以后,会自动生成几个文件:
- 20200224163036_Init_First.cs:是针对本次迁移生成的文件。每次迁移都会生成一个对应的迁移文件。里面有一个Up方法和一个Down方法,Up方法表示要执行的操作,Down方法相当于回滚,如果需要还原到上一个状态,就会执行Down方法。
- EFDbContextModelSnapshot.cs:生成的配置文件。只会生成一次。
3、更新数据库
执行完上面的迁移命令,执行下面的命令就可以更新到数据库:
Update-Database
如下图所示:
这样就会自动生成数据库。
3、命令行迁移
我们可以在PowerShell或者CMD命令行窗口里面进行迁移,使用命令行迁移分为下面的两个步骤。
1、添加迁移
首先我们要进入EFCore.Data目录下面,然后执行下面的命令添加迁移:
dotnet ef migrations add Initial
如下图所示:
迁移之后同样会生成上面所讲的文件。
2、更新数据库
执行下面的命令会将配置更新到数据库:
dotnet ef database update
如下图所示:
执行成功以后就会生成数据库。
三、总结
上面介绍了三种生成数据库表的方式,代码生成的方式适合于控制台程序,这种方式不太常用。尤其是在Web项目里面,经常使用第二种和第三种方式。
到此这篇关于Entity Framework Core生成数据库表的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341