.net core ef core 自动迁移,自动修改数据库

发布时间:2020-02-18 21:28:59来源:本站阅读(871)

    FW的时候MODEL一变,运行的时候自动就更新数据库了。没想到CORE里MODEL变了得执行下命令。。。本着少写一行代码是一行,少操作一步是一步的原则。。。GO

    有两种办法:

    1、Migrate()

    if (DbContext.Database.GetPendingMigrations().Any())
    {
        DbContext.Database.Migrate(); //执行迁移
    }

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

    GetPendingMigrations方法官方文档说明

     

    2、EnsureCreated()

    DbContext.Database.EnsureCreated()  //如果成功创建了数据库,则返回true

    这个不需要执行命令,如果数据库不存在,则会自动创建,但如果数据库存在且model有更改,则后来的更改不会更新到数据库。

    EnsureCreated方法官方文档说明

     

    其他还需要测试。


关键字ef core