3

bereitgestellt wird Ich habe meine .net-Core-App auf aws bereitgestellt, kann aber nicht herausfinden, wie die anfängliche Migration zum Erstellen von Tabellen durchgeführt wird. Gibt es eine Entsprechung zu dotnet ef migrations add Initial dotnet ef database update auf aws, um Tabellen zu erstellen, wenn Code First verwendet wird? Mein Code Fehler auf der Leitung:MySQL-Tabelle ist nicht vorhanden, wenn sie auf AWS

if (context.Record.Any()) 
      { 
       return; // DB has been seeded 
      } 

Antwort

1

Problem gelöst durch Ändern der MySQL-Connector von MySql.Data.EntityFrameworkCore zu SapientGuardian.EntityFrameworkCore.MySql. Alle Migrationen wurden dann mit Standardbefehlen ausgeführt.

+0

Das löst das Problem auch für mich, danke! – Bidou

0

Gleiche, wie Sie es für die Entwicklung tun.

Sie müssen während des Starts der Anwendung dbContext.Database.EnsureCreated() aufrufen (Configure Methode).

Sie müssen einen Servicebereich erstellen und dann Ihre DbContext auflösen.

public void Configure(IApplicationBuilder app) 
{ 
    using (var scope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope()) 
    { 
     using (var dbContext = scope.ServiceProvider.GetRequiredService<AppDbContext>()) 
     { 
      if (dbContext.Database.EnsureCreated()) 
      { 
       // Seed your database if necessary 
      } 
     } 
    } 
} 

Gerade jetzt ist dies der einzige Weg, um die Tabellen zu erstellen, wie Oracle noch weder Migration oder Gerüsten realisieren nicht.

Verwandte Themen