C# – Entity Framework Core – Automatisierte Datenbankgenerierung
P粉520204081
P粉520204081 2023-08-26 17:41:13
0
1
399
<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粉520204081
P粉520204081

Antworte allen(1)
P粉986028039

你好,如果你使用迁移,你可以在你的 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(); 来使用你的数据库上下文。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!