如果要使用数据库迁移功能例如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的回滚操作