Comment puis-je désactiver les premières migrations de code

J’ai un modèle d’entité code-first dans EF5. Mais je veux gérer les modifications de la firebase database manuellement – je ne veux pas qu’EF modifie ma firebase database existante et toutes ses données. Mais lorsque je fais des modifications parallèles dans le mappage EF et dans la firebase database, EF refuse de fonctionner correctement en me disant que je dois utiliser la première migration du code. Comment puis-je le désactiver?

    Définissez Database.SetInitializer sur null.

    public class DatabaseContext: DbContext { //the base accepts the name of the connection ssortingng provided in the web.config as a parameter public DatabaseContext() : base("DatabaseContext") { //disable initializer Database.SetInitializer(null); } 

    Donc, la réponse la plus complète que j’ai trouvée est la suivante:

    1. Supprimer le dossier Migrations dans votre projet.
    2. Définissez Database.SetInitializer(null); dans votre initialiseur DatabaseContext.
    3. Supprimez la table __MigrationHistory dans votre firebase database. Pour EF6 +, la table se trouve sous Tables mais pour les versions antérieures, elle se trouve sous System Tables .
    4. Construire et exécuter
    5. Profit.

    Si vous souhaitez désactiver complètement les migrations:

    https://stackoverflow.com/a/9709407/141172

    Cependant, j’ai trouvé préférable de garder les premières migrations du code activées, mais utilisez l’option -Script pour que EF crée un script de modification de firebase database que je peux appliquer à chaque firebase database (développement, assurance qualité, production):

     Update-Database -Script -ProjectName MyProject -StartupProjectName MyProject 

    De cette façon, EF créera le script de changement pour moi et j’ai toujours le contrôle total sur les modifications appliquées. Je version les scripts de modification comme tout autre code source.

    Si vous avez déjà utilisé Migrations, modifier uniquement Initializer ne vous aidera pas. Vous devez aller à Management Studio, ouvrir vos tables de firebase database, aller dans le dossier System Tables et supprimer la table __MigrationHistory qui s’y trouve (pour EF6 et au-dessus, elle se trouve directement sous Tables ). Cela désactivera définitivement les migrations.