Ich habe eine ASP.NET MVC-Anwendung, die Entity Framework 5.0 und Code First verwendet.Bei der Veröffentlichung von VS 2012 auf eine Azure-Website werden meine Entity Framework-Startdaten nicht in SQL Azure eingefügt
Ich habe meine Website mit Visual Studio 2012 zu Azure Website veröffentlicht. Alles scheint zu funktionieren, außer dass die Seed-Daten nicht in SQL Azure eingefügt werden. Die Website funktioniert, die Datenbank ist erstellt, aber die Seed-Daten sind nicht eingefügt. Wenn ich das auf meinem lokalen Rechner starte, funktioniert alles korrekt.
Basierend auf Beispielen, die ich gesehen habe, gibt es bei der Veröffentlichung von Visual Studio 2012 eine Option namens "Execute Code First Migration" (siehe Bild unten).
Aber wenn ich versuche, meine Website die Option „Ausführen von Code Erste Migration“ zu veröffentlichen ist nicht verfügbar.
Ich glaube, das kann etwas damit zu tun haben, wie meine Lösung konfiguriert ist. Ich habe 3 Projekte, die meine Bewerbung ausmachen.
- Webseite - Dies ist ein ASP.NET MVC-Projekt. Es hat ein Referenz-Entity-Framework, aber der gesamte Datenzugriffscode (DBContext) befindet sich im Datenprojekt.
- Domäne - Dies ist eine Klassenbibliothek. Es hat keinen Verweis auf Entity Framework
- Daten - Dieses Projekt verweist auf Entity Framework. Ich habe eine Configuration-Klasse, die von DbMigrationsConfiguration erbt. In überschreibt diese Konfigurationsklasse I die Seed-Methode.
Wieder funktioniert das alles auf meinem lokalen PC. Zum größten Teil funktioniert alles auf Azure; Die Website funktioniert, die Datenbank wird erstellt, aber die Seed-Daten werden nicht eingefügt.
Gibt es für mein Szenario Empfehlungen, wie die Seed-Daten in SQL Azure eingefügt werden, wenn ich von Visual Studio 2012 aus publiziere?
Möglicherweise müssen Sie den Entity Framework-Kontext in der Datei web.config definieren. Anweisungen finden Sie [hier] (http://www.ralphlavelle.net/2012/09/entity-framework-code-first-webconfig.html) im Detail. –