Ma réponse risque d'être un peu idiot, mais de toute façon ici il va.
Si vous, comme moi, quelques fois d'avoir des problèmes dans la Graine() la méthode que j'ai l'habitude de faire est simplement de créer une méthode publique qui appelle le Protéger de la Graine().
public void SeedDebug(AppDbContext context)
{
Seed(context);
}
ensuite dans mon contrôleur HomeController j'ai appeler cette méthode dans le mode de Débogage.
public class HomeController : Controller
{
var appDb = new AppDbContext();
public ActionResult Index()
{
var config = new Configuration();
config.SeedDebug(appDb);
return View();
}
}
Je sais que c'est un peu boiteux solution, mais elle est simple et rapide.
Bien sûr, cela doit être fait après que le modèle a été créé.
Donc, étape par étape:
- commentaire de la graine de méthode et d'exécuter la mise à jour de la base de données pour créer le modèle
décommentez la méthode de Semences() et plugin le "hack" je l'ai mentionné ci-dessus.
-
dans la configuration de désactiver l'Auto migrations
AutomaticMigrationsEnabled = false;//si vous avez déjà désactivé sauter cette étape
Le débogage de votre application, la correction de l'erreur et de supprimer le "hack"