【问题标题】:Create Migration folder Using dataContext.Database.Migrate() in EF core在 EF 核心中使用 dataContext.Database.Migrate() 创建迁移文件夹
【发布时间】:2021-06-14 20:40:31
【问题描述】:

我在我的项目中使用 EF 核心,我想使用编程(不是命令)迁移我的上下文 所以我一一使用这两个概念

1.

using (var serviceScope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>().CreateScope())

{
     
    var context = serviceScope.ServiceProvider.GetService<UserInformationContext>();
     
    context.Database.Migrate();

}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, UserInformationContext userContext)

{
   userContext.Database.Migrate();

}

问题是,使用这两个概念不能像add-migration 命令那样创建任何迁移文件夹 有没有办法使用编程创建迁移文件夹和迁移上下文??

【问题讨论】:

  • 您能告诉我为什么需要迁移文件夹和迁移上下文吗?看来这两件事只能通过命令行来创建。

标签: c# asp.net-core entity-framework-core migration database-migration


【解决方案1】:

我认为您可以在这里使用的方法是使用 add-migration 命令生成迁移文件,并添加以下代码行以在应用程序运行时进行迁移。代码检查是否有任何待应用的迁移,如果有,则应用迁移

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, UserInformationContext userContext)    
{
 if (userContext.Database.GetPendingMigrations().Count() > 0)
     {
         userContext.Database.Migrate();
      }
  

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-15
    • 2018-10-30
    • 2020-02-15
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    • 2018-05-21
    相关资源
    最近更新 更多