Ich baue eine Lösung mit folgenden Projekten:
Main.Data
- Klassenbibliotheksprojekt Main.API
- Asp.NET MVC WebApi - verweist auf Main.Data li>
Main
- Asp.NET MVC 4-Webanwendung - Referenzen Main.API Ich habe eine MyContext : DbContext
Klasse im Main.Data
Projekt.
Ich habe auch enable-migrations
Konsolenbefehl auf Main.Data
Projekt erfolgreich ausgegeben, und ich verwende erfolgreich LocalDB als SQL Server für meine Daten und für upgrade-database
Migrationen.
Das Problem beginnt, wenn ich versuche, Main
project auf der 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. Daher kann ich Execute Code First Migrations
nicht so aktivieren, wie ich es möchte.
Stattdessen kann ich nur Update database
scripts aktivieren.
Ich verwende Visual Studio 2012 mit Entity Framework 5.0.0 (seit Beginn des Projekts).
Ich habe nur versucht, eine temporäre MyContext
-Klasse innerhalb des Main
-Projekts und enable-migrations
im Main
-Projekt hinzuzufügen, und danach hat mein Publish-Profil Entity Framework Code-First automatisch erkannt.
Das ist natürlich keine Lösung (oder?)
Hier sind einige relevante Themen:
Ich suche eine saubere stabile Lösung. Muss ich meine Context-Klasse in das Hauptprojekt einfügen?
Vielen Dank im Voraus
Ich kann jetzt Execute Code First Migrations
aktivieren, wenn ich ein Veröffentlichungsprofil erstelle.
Hier ist, was ich getan habe, um es zu erreichen:
Main/Web.config
Ich habe den Namen der Verbindungszeichenfolge in den FQN der Kontextklasse geändert: Main.Data.MyContext
. Main
project zu Main.Data
Project hinzu (die bisher nicht benötigt wurde). Das macht den Job für mich.
Wenn jemand eine bessere oder erzieherischere Antwort bekommen würde, würde ich mich freuen, es zu hören.
Tags und Links asp.net-web-api azure entity-framework