2017-03-05 4 views
4

i Problem bei der Erstellung der Migration erstellen muß hinzufügen, wird die Migration nicht erstellt, wenn i erstellt Migration in Package inWie Migration in asp.net Kern 1.0

DbInitializer

public static class DbInitializer 
{ 
    public static void Initialize(SchoolContext context) 
    { 
     context.Database.EnsureCreated(); 

     // Look for any students. 
     if (context.Students.Any()) 
     { 
      return; // DB has been seeded 
     } 

     var students = new Student[] 
     { 
     new Student{FirstMidName="Carson",LastName="Alexander",EnrollmentDate=DateTime.Parse("2005-09-01")}, 
     new Student{FirstMidName="Meredith",LastName="Alonso",EnrollmentDate=DateTime.Parse("2002-09-01")}, 
     new Student{FirstMidName="Arturo",LastName="Anand",EnrollmentDate=DateTime.Parse("2003-09-01")}, 
     new Student{FirstMidName="Gytis",LastName="Barzdukas",EnrollmentDate=DateTime.Parse("2002-09-01")}, 
     new Student{FirstMidName="Yan",LastName="Li",EnrollmentDate=DateTime.Parse("2002-09-01")}, 
     new Student{FirstMidName="Peggy",LastName="Justice",EnrollmentDate=DateTime.Parse("2001-09-01")}, 
     new Student{FirstMidName="Laura",LastName="Norman",EnrollmentDate=DateTime.Parse("2003-09-01")}, 
     new Student{FirstMidName="Nino",LastName="Olivetto",EnrollmentDate=DateTime.Parse("2005-09-01")} 
     }; 
     foreach (Student s in students) 
     { 
      context.Students.Add(s); 
     } 
     context.SaveChanges(); 

    } 
} 

MadeChanges in Startup.cs

app.UseMvc(routes => 
{ 
    routes.MapRoute(
     name: "default", 
     template: "{controller=Home}/{action=Index}/{id?}"); 
}); 
DbInitializer.Initialize(conetxt); 

Package Manager consol> A dd-Migration FirstMigration und nach Abschluss-Update-Datenbank

Problem aufgetreten in Update-Datenbank Befehl

+0

und den Rest der Fehlermeldung? – niceman

+0

In ASP.NET Core verwenden Sie die Package Manager Console nicht, um Migrationen hinzuzufügen. Sie müssen dotnet CLI verwenden, siehe hier: https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet –

+0

scheint Sie einen Tippfehler in Ihrem 'Startup.cs' (' conetxt' anstelle von "Kontext"?) – fpietka

Antwort

5

Mit EF-Core haben Sie jetzt 2 verschiedene Kommandozeilen-Tools, die Dotnet cli und die PM Konsole . Sie können die official docs für weitere Referenz überprüfen. --help = |

  • -h:

    Verbrauch:: Dotnet ef Migrationen [Optionen] [Befehl]

    Optionen

    Wenn die dotnet CLI Migrationen mit hinzugefügt werden > Hilfe Informationen

  • -v | --verbose => Aktivieren ausführliche Ausgabe

Befehle:

  • add => Hinzufügen einer neuen Migration
  • list => Liste der Migrationen
  • entfernen => Entfernen Sie die letzte Migration
  • script => ein SQL-Skript von Migrationen generieren

Also, um Ihre neue FirstMigration hinzufügen Migration Sie laufen würde:

>dotnet ef migrations add FirstMigration 

Die gleichen Befehle sind auch für die Package Manager Console zur Verfügung:

  • Wenn Sie Visual Studio 2017 verwenden, sollten sie bereits
  • installiert werden, wenn Sie Visual Studio 2017 verwenden, Sie müssen sie mit Install-Package Microsoft.EntityFrameworkCore.Tools -Pre installieren. (Lesen Sie den Abschnitt über EF Core-Installation und EF6 Befehle nebeneinander auf the documentation)

Um eine Migration hinzufügen würden Sie dann laufen:

>Add-Migration FirstMigration