Frage

Ich verwende Code first Migrations, um die Datenbank für meine ASP MVC-Site zu erstellen und zu aktualisieren.

Ich habe einen DbContext, der sich in einem anderen Projekt in der Lösung befindet.

public class EFDbContext : DbContext
{
    public DbSet<Book> Books { get; set; }
    public DbSet<Author> Authors { get; set; }
    public DbSet<Publisher> Publishers { get; set; }
}

Wenn ich-Migrationen aktiviere und -Migration hinzufüge [Name].Es scheint eine eigene Datenbank namens zu erstellen

[foo-projectname].Domain.Concrete.EFDbContext

Anstelle des Anhängens an die von mir erstellte Datenbank wird aufgerufen [foo-projektname].In der Webkonfiguration für die Site verweist die Verbindungszeichenfolge nach Katalog "[foo-projektname]".

Wenn ich die Webkonfiguration in die andere Datenbank ändere, erhalte ich Ergebnisse von Elementen zurück, die ich dieser Datenbank hinzugefügt habe.Ich möchte jedoch die von mir erstellte Datenbank verwenden.

Der Grund, warum ich nicht bei diesem automatisch erstellten bleiben möchte, ist, dass ich mir bei der Migration zu SQL Server nicht sicher bin und nicht weiter stecken bleiben möchte.Ich bekomme auch den Fehler

Das Modell, das den Kontext 'EFDbContext' unterstützt, hat sich seitdem geändert...

auch wenn ich nichts geändert habe.

War es hilfreich?

Lösung

X ist der Projektname, der abgeleitete enthält DbContext Klasse.

  • Stellen Sie sicher, dass die Default project auf Package Manager Console ist X
  • Stellen Sie sicher, dass das aktive Startprojekt in der Lösung X ist

Eine andere Problemumgehung besteht darin, beim Ausführen der Migrationssyntax die folgenden Parameter anzugeben.

-ProjectName X -StartUpProjectName X

Einige Parameter Beschreibung:

-ProjectName <String>
    Specifies the project that contains the migration configuration type to be
    used. If omitted, the default project selected in package manager console
    is used.

-StartUpProjectName <String>
    Specifies the configuration file to use for named connection strings. If
    omitted, the specified project's configuration file is used.

-ConfigurationTypeName <String>
    Specifies the migrations configuration to use. If omitted, migrations will
    attempt to locate a single migrations configuration type in the target
    project.

-ConnectionStringName <String>
    Specifies the name of a connection string to use from the application's
    configuration file.

-ConnectionString <String>
    Specifies the the connection string to use. If omitted, the context's
    default connection will be used.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top