2017-04-15 6 views
0

Ich verwende EF6-Code erster Migrations für mehrere Modelle Mittel arbeiten mit einer einzigen Datenbank über mehrere DbContext und Migrationen, In MVC5!Wie Datenbank aktualisieren programmatisch von mvcArea

Warum?

Weil ich neue Entities zur Datenbank von meinen Bereichen hinzufügen möchte! .. So hat jeder Bereich seine eigenen dbContext und Migrations Dateien. Ich benutze den Update-Database Befehl im Console Package Manager und meine Datenbank wird ohne Probleme aktualisiert.

Wie jeder Körper weiß: Sie Ihre Datenbank von jedem Projekte Ihrer Lösung aktualisieren können, aber wenn Sie es als StartUpProject der Lösung eingestellt.

und meine Herausforderung ist über das, was ich sagte oben Blockquote! weil in einem weiteren Schritt möchte ich durch diesen Code meiner Datenbank programmatisch aktualisieren:

 //ActionResult of my Area: 
    public ActionResult Create() 
    { 
     var configuration = new Configuration(); 
     var migrator = new DbMigrator(configuration); 
     migrator.Update(); //got Error in this line 
     return View(); 
    } 

i

netzwerkbezogene oder instanzspezifischen Fehler erhalten

in der angegebenen Zeile und ich weiß, Warum! .. weil mein Area Project nicht als StartUpProject meiner Lösung eingestellt ist und es nicht sein sollte.

Also, wie kann ich aus Ihrer Sicht mit dieser Situation umgehen?

Antwort

0

Ich wusste. ich sollte geben meiner Konfiguration Instanz Connection, gerade wie folgt aus:

 public ActionResult Create() 
    { 


     var configuration = new Configuration(); 
     configuration.TargetDatabase = new DbConnectionInfo(
        "Server=.;Database=SegalFrameWork;Trusted_Connection=True;", 
        "System.Data.SqlClient"); 

     configuration.ContextKey = "BlogDbContext"; 
     var migrator = new DbMigrator(configuration); 
     migrator.Update(); 
     return View(); 
    } 

jetzt gibt es keine Notwendigkeit, Verbindungszeichenfolge von web.config zu lesen, damit es kein Startprojekt finden muss.

Verwandte Themen