首頁  >  問答  >  主體

C# - Entity Framework Core - 自動化資料庫生成

<p>當我第一次運行我的桌面應用程式時,我想要自動建立資料庫和表格結構。 </p><p> 我找不到任何關於EFCore等效方法的範例或文件。 </p><p> 我按照這份文檔中的說明進行了所有操作: https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core-example.html </p><p> 但我仍然遇到問題:在Microsoft.Data.SqlClient.dll中拋出異常:'Microsoft.Data.SqlClient.SqlException',並且資料庫為空 :( 如果您能幫助我,請告訴我。 </p><p></p> <pre class="brush:php;toolbar:false;">protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { try { optionsBuilder.UseMySQL("server=localhost;userid=root;password=topSecret;database=kartoteka-pracownicza"); } catch (MySqlException ex) { switch (ex.Number) { case 0: MessageBox.Show("無法連接到伺服器,請聯絡管理員"); break; case 1045: MessageBox.Show("無效的使用者名稱/密碼,請重試"); break; } }; }</pre></p>
P粉520204081P粉520204081420 天前412

全部回覆(1)我來回復

  • P粉986028039

    P粉9860280392023-08-27 16:17:15

    你好,如果你使用遷移,你可以在你的 Startup.cs 中加入類似以下的內容:

    public void Configure(IApplicationBuilder app)
        {
             using (var serviceScope = 
             app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
             {
                   var context = serviceScope.ServiceProvider.GetRequiredService<ApplicationDbContext>();
                   context.Database.Migrate();
             }
        }

    如果你不使用遷移,你可以將 Migrate(); 替換為 EnsureCreated(); 來使用你的資料庫上下文。

    回覆
    0
  • 取消回覆