CreateDatabaseIfNotExists等之前的API已经废弃,现在采用的是微软封装好,简化、高效的API,migrations
因为,旧API,要付出高昂的代价,以及局限性
打开VS2017,选择工具->NutGet包管理器->程序包管理器控制台
输入Add-Migration MyFirstMigration 指令
就会根据当前的dbcontext自动生成Migrations文件夹及文件,这些文件用于新建、或者扩展专属于Migrations 这个API的扩展的数据库
然后在asp.net core的Startup.cs文件, public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
Configure这个函数,加上
using (var serviceScope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>().CreateScope())
{
serviceScope.ServiceProvider.GetService<UnicornStoreContext>().Database.Migrate();
serviceScope.ServiceProvider.GetService<ApplicationDbContext>().Database.Migrate();
serviceScope.ServiceProvider.GetService<UnicornStoreContext>().EnsureSeedData();
}根据上面的代码换成自己的函数,即可
然后就可以根据生成的Mingrations文件夹内的文件,生成Mingrations API专属数据库,自动扩展,升级数据库

本文介绍如何使用ASP.NET Core中的Migrations API替代已废弃的CreateDatabaseIfNotExists等API,通过VS2017和NuGet包管理器实现数据库的自动化创建与升级。
165

被折叠的 条评论
为什么被折叠?



