5 votes

L'option Exécuter le code lors des premières migrations est grisée dans les paramètres de publication.

J'utilise Windows Azure et j'essaie de publier mon application MVC3. La case à cocher Exécuter la migration du code en premier dans le panneau des paramètres de l'application web Publier est grisée. Quelles modifications dois-je apporter pour pouvoir l'activer ?

8voto

AvkashChauhan Points 14572

Je pense que vous voyez le message suivant "Execute Code First Migration" désactivé lorsque vous essayez de publier votre application MVC :

enter image description here

Ceci est potentiellement dû au fait que vous n'avez pas écrit tout le code pour la migration du code dans votre application et que la configuration de la base de données dans votre web.config est incorrecte ou inexistante, comme décrit ci-dessus. aquí .

Afin d'activer la migration de code, vous devez avoir une base de données configurée (dans le cas de Windows Azure, vous devez fournir des informations sur la base de données SQL dans le fichier web.config) dans le fichier web.config et une classe complète est écrite sur la façon dont la migration de code se produira en fonction de votre modèle. Ici est un exemple de la manière d'y parvenir.

http://msdn.microsoft.com/en-us/library/dd394698#efcfmigrations

1voto

LIUFA Points 3642

Je suppose que vous avez déjà un modèle Entity Framework dans votre base de données (si ce n'est pas le cas, vous devez lire un peu, la réponse de @AvkashChauhan serait en effet un bon point de départ).

Toutefois, si vous disposez d'un modèle et de toutes les configurations comme :

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
   modelBuilder.Configurations.Add(new YourEntityMap());
}

et tous les mappages d'entités comme :

public class YourEntityMap : EntityTypeConfiguration<YourEntity>
{
    public YourEntityMap()
    {
        this.HasKey(t => t.Id);
    }
}

et que la case à cocher n'est toujours pas activée, vous pouvez suivre les étapes suivantes :

Aller à Tools > NuGet Package Manager > Package Manager Console

enter image description here

Puis, dans la console, écrivez

Enable-Migrations -ContextTypeName Company.Models.YourDevContext

Company.Models.YourDevContext est votre contexte de base de données (cherchez une classe qui hérite de DbContext doit être le même que celui qui a OnModelCreating surcharge).

après avoir exécuté la commande, vous devriez obtenir quelque chose comme

enter image description here

À ce stade, vous devriez avoir Migrations dossier ajouté à la solution Pour en savoir plus sur la manière de gérer les migrations, cliquez ici

J'espère que cela vous fera gagner du temps.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X