簡體   English   中英

C# 中的 Entity Framework Core 數據庫遷移

[英]Entity Framework Core database migration in C#

我正在嘗試通過啟動 ASP.NET Core 3.1 web 應用程序來遷移數據庫(數據庫已經預先創建)。 我通過在 Visual Studio Package 管理器控制台中啟用遷移來創建遷移:

enable-migrations

然后創建了一個遷移:

Add-Migration TestTable –Context MyDbContext 

TestTable創建一個簡單的表,我用它來測試遷移。

我希望能夠在啟動時遷移數據庫,而不需要使用 Visual Studio Package 管理器控制台,也不需要使用update-database命令。

我試過這個:

var migrationAssembly = typeof(Startup).GetTypeInfo().Assembly.GetName().Name;
services.AddDbContext<MyDbContext>(options => 
    options.UseSqlServer(
        Configuration.GetConnectionString("MyConnectionString"),
        sql => sql.MigrationAssembly(migrationAssembly))));

我沒有收到任何錯誤,但表永遠不會被創建。 我在表上嘗試了簡單的 crud 操作,但它們拋出錯誤,因為表不存在,我還檢查了 SQL 服務器 Object Explorer 並且表不存在。

任何想法將不勝感激。

最好的

看看這段代碼

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, DataContext dataContext)
{
    // migrate any database changes on startup (includes initial db creation)
    dataContext.Database.Migrate();

    ...
 }

這是參考鏈接: https://jasonwatmore.com/post/2019/12/27/aspnet-core-automatic-ef-core-migrations-to-sql-database-on-startup

暫無
暫無

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

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