zoukankan      html  css  js  c++  java
  • Microsoft.EntityFrameworkCore.Tools的作用-以及数据库迁移的用法

    如果要使用数据库迁移功能例如Add-Migration

    或者是查看帮助

    get-help entityframeworkcore

    等命令,首先要在PMC中(VS中工具-NuGet包管理器-程序包管理器控制台)

    install-package Microsoft.EntityFrameworkCore.Tools

    等安装完后就可以执行命令了,然后开始数据库迁移 codeFirst

    执行Add-Migration的时候注意的点

     首先需要在程序包管理器控制台执行命令,默认项目是说例如Migration命令生成的Migration文件夹要装到哪里对应的项目(一般放到ApplicationDbContext的那个项目中就好了)

    如果不是ApplicationDbContext的那个项目,则需要在Startup中如下设置

    public void ConfigureServices(IServiceCollection services)
            {
                services.AddControllersWithViews();
                //配置数据库连接服务
                services.AddDbContext<ApplicationDbContext>(options => {
                    options.UseSqlServer(Configuration["DefaultConnection"], b=>b.MigrationsAssembly("Shop.UI"));//如果你的ApplicationDbContext放在Shop.Database类库中,而默认项目不是Database那么就要显示指定为Shop.UI
    }); }

    Add-Migration基本用法:

    Add-Migration init

    init是本次创建的迁移名字,这个是自定义的,可以随便写

    迁移完成后要应用到数据库上还需要执行

    Update-database

    就会将最新的迁移执行到数据库

    也可以显示的指定要应用那个迁移到数据库中

    例如

    Update-database init

    就将init这次迁移应用到数据库上,位于init之后执行的迁移(这里我虚拟了个second的迁移)就可以使用remove-migration second命令删除

    否则应用了数据库的迁移是不允许删除的,这里有点像git的回滚操作

  • 相关阅读:
    你是一直认为 count(1) 比 count(*) 效率高么?
    秒杀系统是如何防止超卖的?
    百亿流量微服务网关的设计与实现
    中台
    Token 、Cookie、Session
    HyperLedger Fabric 1.4 区块链应用场景(3.1)
    HyperLedger Fabric 1.4 区块链工作过程(2.3)
    HyperLedger Fabric 1.4 区块链技术原理(2.2)
    HyperLedger Fabric 1.4 区块链技术定义(2.1)
    HyperLedger Fabric 1.4 区块链技术发展(1.3)
  • 原文地址:https://www.cnblogs.com/LeeSki/p/14402403.html
Copyright © 2011-2022 走看看