Heim  >  Fragen und Antworten  >  Hauptteil

C# – Entity Framework Core – Automatisierte Datenbankgenerierung

<p>Wenn ich meine Desktop-Anwendung zum ersten Mal starte, möchte ich, dass die Datenbank- und Tabellenstruktur automatisch erstellt wird. </p><p> Ich kann in EFCore keine Beispiele oder Dokumentation zur entsprechenden Methode finden. </p><p> Ich habe alles so gemacht, wie in diesem Dokument beschrieben: https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core-example.html </p><p> Aber ich habe immer noch das Problem: Ausnahme: 'Microsoft.Data.SqlClient.SqlException' wird in Microsoft.Data.SqlClient.dll geworfen und die Datenbank ist leer :( Wenn Sie mir helfen können, lassen Sie es mich bitte wissen. </p><p></p> <pre class="brush:php;toolbar:false;">protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { versuchen { optionsBuilder.UseMySQL("server=localhost;userid=root;password=topSecret;database=kartoteka-pracownicza"); } Catch (MySqlException ex) { Schalter (z. B. Nummer) { Fall 0: MessageBox.Show("Verbindung zum Server konnte nicht hergestellt werden, wenden Sie sich bitte an den Administrator"); brechen; Fall 1045: MessageBox.Show("Ungültiger Benutzername/Passwort, bitte versuchen Sie es erneut"); brechen; } }; }</pre></p>
P粉520204081P粉520204081420 Tage vor410

Antworte allen(1)Ich werde antworten

  • 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(); 来使用你的数据库上下文。

    Antwort
    0
  • StornierenAntwort