1、.NET Core中手动执行命令创建
dotnet ef migrations add MyFirstMigration
dotnet ef database update
2、通过.NET Core代码,首次使用时自动创建
1)如果已经创建了迁移,则可以在Startup.cs中执行它们,如下所示。
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
using (var serviceScope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
{
var context = serviceScope.ServiceProvider.GetRequiredService<ApplicationDbContext>();
context.Database.Migrate();
}
//省略不相关代码...
}
使用添加迁移的表和数据创建数据库
2)如果不迁移数据,只是需要在首次运行时,完全按照在上下文类中的DbContext模型来创建数据库,则可以使用:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
using (var serviceScope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
{
var context = serviceScope.ServiceProvider.GetRequiredService<ApplicationDbContext>();
context.Database.EnsureCreated();
}
//省略不相关代码...
}
如果需要在创建数据库之前删除它,则可以使用下面代码:
context.Database.EnsureDeleted();
参考文档:http://docs.identityserver.io/en/release/quickstarts/8_entity_framework.html?highlight=entity