0

neu zu MVC und EF. Der Versuch, die folgendes zu erreichen:MVC EF (Code First) - Erstellen einer Beziehung mit AspNetUsers und benutzerdefinierten Tabellen

  • Ein neuer Standort mit einzelnen Benutzerkonten
  • eine DB-Tabelle „Liga“ erstellen, wobei, wenn eine neue Liga zu schaffen die LeagueAdmin ein ApplicationUser ist

Ich folgte this tutorial zu versuche zu erreichen, was ich wollte. Wenn ich die Anwendung starte, kann ich neue Benutzer ohne Probleme registrieren. Wenn ich jedoch eine neue Liga erstellen möchte, erhalte ich folgende Fehlermeldung:

"Die Modellkompatibilität kann nicht überprüft werden, da die Datenbank keine Modellmetadaten enthält. Die Modellkompatibilität kann nur für Datenbanken überprüft werden, die mit Code First oder Code erstellt wurden Erste Migrationen. "

Ich habe viele Fixes ausprobiert, über die ich gelesen habe, aber sie neigen dazu, mich auf einen Pfad immer komplexer werdender Fehler zu führen. Ich denke, das sollte so einfach sein, dass ich diesen Fehler zuerst verstehen möchte, bevor ich mich dem nächsten zuwende.

VS Project Source is here

Antwort

0

Wahrscheinlich hat Ihre Datenbank keine _MigrationHistory Tabelle enthalten.

diesen Code auf Ihre DbContext hinzufügen:

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    modelBuilder.Conventions.Remove<IncludeMetadataConvention>(); 
} 

Zum Package Manager Console durch folgende Ansicht -> Andere Fenster -> Package Manager Console

und schreiben folgenden Befehle:

enable-migrations 
add-migration InitialCreate 
update-database 

Alternativ;

Sie können diesen Code zu Ihrem DbContext hinzufügen;

static LeagueContext() 
{ 
    Database.SetInitializer<LeagueContext>(
new DropCreateDatabaseAlways<LeagueContext>()); 
}