Exécution de la migration de base de données DNX (EF7) sur Azure

asp.net azure database-migration dnx entity-framework-core

Question

J'ai exécuté un projet MVC avec ASP.NET 4.6 et EF7 localement et tout fonctionne bien. J'ai couru le DNX. ef migration Les commandes initiales pour créer les tables de base de données, et tout s'est bien passé. L'application fonctionne.

Avec Azure, j'ai un problème, je n'arrive pas à exécuter le dnx. commande de migration ef afin que ma base de données SQL soit vide. J'ai débogué Startup.cs et la chaîne de connexion est correctement récupérée, mais les tables ne sont pas là.

J'ai utilisé l'option Publier dans Visual Studio 2015 pour effectuer le déploiement sur mon application Web Azure.

Comment puis-je exécuter cette commande sur mon application Web? Existe-t-il un autre moyen de générer la base de données?

Merci

Réponse acceptée

Il semble que l’équipe EF ait éliminé les fameux initialiseurs de base de données et propose une méthode plus polyvalente pour cela sur la version 7.

Il suffit d’utiliser ces méthodes dans le pipeline avant tout appel à la base de données,

yourDbContext.Database.EnsureCreated();

pour créer la base de données au cas où elle n'existe pas et

yourDbContext.Database.Migrate();

appliquer des migrations (si vous utilisez cette fonctionnalité ultérieurement). Les deux méthodes ci-dessus ont également une version asynchrone.

Dans ma solution, j'ai créé une classe statique que j'utilise pour initialiser la base de données et l'ensemencer avec des données. J'appelle la méthode Seed à partir de la méthode Configure de la classe Startup lorsqu'une condition est remplie.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi