Meine Antwort ist vielleicht ein bisschen dumm, aber trotzdem geht es hier. Wenn Sie, wie ich, manchmal Probleme in der Seed() -Methode haben, was ich normalerweise tue, erstellen Sie einfach eine öffentliche Methode, die Protect Seed() aufruft.
public void SeedDebug(AppDbContext context)
{
Seed(context);
}
dann in meinem HomeController ich diese Methode im Debug-Modus aufrufen.
public class HomeController : Controller
{
var appDb = new AppDbContext();
public ActionResult Index()
{
var config = new Configuration();
config.SeedDebug(appDb);
return View();
}
}
Ich weiß, es ist ein bisschen lahme Lösung, aber es ist einfach und schnell. Natürlich muss dies nach der Erstellung des Modells geschehen. So Schritt für Schritt:
- Kommentar der Samen Methode und führen Sie die Update-Datenbank das Modell
uncomment der Methode Seed() und Plugin den "Hack" Ich erwähnte oben zu schaffen.
in der Konfiguration deaktivieren Auto-Migrationen
AutomaticMigrationsEnabled = false; // wenn Sie diese deaktiviert haben dies bereits Ihre Anwendung
Debug Schritt überspringen, beheben Sie den Fehler, und entfernen Sie die "Hack"
Es ist nur Standard C# -Code - also ja, natürlich können Sie Breakpoints darin setzen ... –
aber die Anwendung läuft eigentlich nicht seit ich verwende die Package Manager Console. – Daniel
Führen Sie dann kein Upgrade von der Package Manager-Konsole durch, sondern legen Sie den Migrationsinitialisierer als Standardinitialisierer fest, damit die Datenbank bei der ersten Verbindung mit Ihrer Anwendung migriert wird. –