Ich wiederhole diese Frage jetzt, da ich ein klareres Bild des Problems habe. Ich sage ein Problem, da ich keinen logischen Grund für dieses Verhalten sehe.Code erste Bereitstellung mit EF-Targeting-Startprojekt?
Ich habe eine Lösung, die drei Projekte enthält:
Datalayer Projekt
BusinessLogicLayer Projekt
Win Forms (gesetzt als Startprojekt)
data Das Projekt verwendet EF 6 und den Oracle Managed Client. Ich habe festgestellt, dass das DataLayer-Projekt zwar erfolgreich aktiviert wurde (durch Setzen des Standardprojekts in der Dropdown-Liste im Paket-Manager oder mithilfe des Flags -project), aber die Update-Datenbank nicht. Ich muss mit der rechten Maustaste auf mein DataLayer-Projekt klicken und Visual Studio anweisen, es als Startprojekt festzulegen.
Aus dem Test scheint update-database in einem Code ersten Ansatz sucht nach der app.config im Startprojekt, anstatt, was als das Standardprojekt ausgewählt ist.
Ich möchte, dass mein Projekt eine 3-Tier-Architektur hat und alle meine datenbankbezogenen Sachen und EF in meinem DataLayer-Projekt versteckt hält. Ich möchte nicht das DataLayer-Projekt als Startprojekt ändern, nur um die Datenbank zu aktualisieren. Ist das normales Verhalten, oder fehlt mir etwas ganz?
Randnotizen: Mit der Community-Edition von VS, versuchte auf zwei verschiedenen Systemen, neue Projekte und das gleiche Verhalten.
Vielen Dank im Voraus!