EfCore自动迁移数据库

文章介绍了在数据库模型发生变化时如何使用Migrate进行迁移,以及如何通过EnsureCreated确保数据库存在并创建。Migrate方法会在检测到有未应用的迁移时自动更新数据库,而EnsureCreated仅用于首次创建数据库,不会处理模型的后续更改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Migrate

if (dbContext.Database.GetPendingMigrationsAsync().Result.Any())
{
    dbContext.Database.Migrate();
}

当数据库model有改动的话需要先执行下 add-migrate xxx 命令,然后每次运行程序GetPendingMigrations()就会检测有无更新,有的话自动迁移。

二、EnsureCreated

if (!await dbContext.Database.CanConnectAsync())
{
    await dbContext.Database.EnsureCreatedAsync();
}

如果数据库不存在,则会自动创建,但如果数据库存在且model有更改,则后来的更改不会更新到数据库。

原文:https://www.cnblogs.com/jzz228/p/12195022.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值