簡體   English   中英

使用Entity Framework Core在運行時遷移

[英]Migrating at runtime with Entity Framework Core

我正在將PHP / Illuminate應用程序移植到ASP.NET Core / EF Core。 其中一部分包括類似Wordpress的安裝過程,該過程要求數據庫憑據,然后為應用程序創建必要的表以運行。 從本質上講,我想在運行時運行某種類型的遷移,就像我可以使用Illuminate的模式構建器一樣。

我找到了Microsoft.EntityFrameworkCore.Migrations命名空間的引用,它似乎與我想要做的有關,但我似乎無法找到有關如何實際使用它的任何文檔或最佳實踐。 我想我可以編寫原始的SQL查詢並執行它們,但如果可能的話,我寧願使用一個很好的強類型API。

EF Core是否可以實現這一點,是否有人就如何做到這一點有一些建議? 我目前正在使用Pomelo MySQL提供商,如果這有任何區別。

假設您已經准備好了遷移,那么您的Startup類中的類似內容將起到作用:

public void ConfigureServices(IServiceCollection services)
{
    // Wire up whatever your equivalent DbContext class is here
    services.AddDbContext<ApplicationDbContext>();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    using (var scope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>().CreateScope())
    {
        scope.ServiceProvider.GetService<ApplicationDbContext>().Database.Migrate();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM