I mit folgenden Projekten eine Lösung am Bau:
Veröffentlichen Entity-Framework-Code-First-Migrationen ohne Kontext in dem Startprojekt
Main.Data
- -KlassenbibliotheksprojektMain.API
- Asp.NET MVC WebAPI - Referenzen Main.DataMain
- Asp.NET MVC 4 Web-Anwendung - Referenzen Main.API
ich habe einen 012.Klasse befindet sich innerhalb Main.Data
Projekt. Ich habe auch erfolgreich enable-migrations
Konsolenbefehl auf Main.Data
Projekt, und ich bin erfolgreich mit LocalDB als SQL-Server für meine Daten und für upgrade-database
Migrationen.
Das Problem beginnt, wenn ich versuche, Main
Projekt auf Windows Azure-Website zu veröffentlichen.
Das Publish-Profil, das automatisch mit Import from a Windows Azure web site
erstellt wird, scheint nicht zu erkennen, dass ich die Entity Framework Code First-Lösung verwende, und daher kann ich Execute Code First Migrations
nicht so aktivieren, wie ich möchte.
Stattdessen kann ich nur Update database
Skripte aktivieren.
Ich verwende Visual Studio 2012 mit Entity Framework 5.0.0 (seit Beginn des Projekts).
Nur um zu überprüfen, habe ich versucht, eine temporäre MyContext
Klasse innerhalb des Main
Projekt hinzuzufügen und zu enable-migrations
auf dem Main
Projekt, und danach mein Profil veröffentlichen automatisch Entity Framework-Code-First erkannt. (? Oder ist es)
Das heißt, der-natürlich keine Lösung
Hier sind einige relevante Themen:
- This ist die Basis Lernen Tutorial.
- This erläutert Bereitstellungsoptionen, aber keine Fehlerbehebung.
- This gibt eigentlich ein paar Ideen zu versuchen, aber alles scheint unnatürlich.
Ich bin auf der Suche nach einer sauberen stabilen Lösung. Muss ich meine Context-Klasse in das Hauptprojekt einfügen?
Vielen Dank im Voraus
Erinnern Sie sich, die App/web.config zu Ihrem Hauptprojekt hinzuzufügen? Wenn Sie Migrationen aktivieren, fügen Sie die Konfigurationsdateien dem Main.Data-Projekt hinzu. Diese werden nicht hinzugefügt, wenn Sie auf das Projekt verweisen. Ich habe meine Kontexte in separaten Projekten, aber die Konfigurationsdateien sollten in dem Projekt sein, in dem ich sie verwende? –
Ja, web.config befindet sich im Hauptprojekt und die Konfigurationsdateien befinden sich in Main.Data ... Haben Sie das Hauptprojekt für Azure bereitgestellt? – Liel
Mein Setup ist nicht 100% identisch. Ich mache alle Migrationsarbeiten im Visual Studio und lokal. Bei der Bereitstellung sind meine Datenbanken auf dem neuesten Stand und die Dinge funktionieren einfach. nicht versucht mit automatischen Migrationen –