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的回滚操作

原文地址:https://www.cnblogs.com/LeeSki/p/14402403.html