IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entity Framework Discussion :

Migration qui modifie une colonne même avec un IgnoreChanges


Sujet :

Entity Framework

  1. #1
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut Migration qui modifie une colonne même avec un IgnoreChanges
    Bonjour,

    je travaille en ef6 code first, j'ai une table dans la base de donnée qui a une colonne qui n'existe pas dans la classe correspondante.

    Celle ci s'appelle Discriminator je l'ajoute donc dans mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         [Required]
            public string Discriminator { get; set; }
    Je génère ma migration avec un IgnoreChanges je met à jour ma base.
    Là je lance mon site Asp Net et j'ai une erreur comme quoi la colonne Discriminator1 n'existe pas, je ne comprends pas pourquoi il essaye de me créer cette colonne alors que ma migration est vide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      public partial class MigrationCode: DbMigration
        {
            public override void Up()
            {
            }
     
            public override void Down()
            {
            }
        }
    Quand je test sans IgnoreChanges je vois qu'il essaye de me crée une nouvelle colonne comme une existe déjà en base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     public partial class MigrationCode: DbMigration
        {
            public override void Up()
            {
                RenameColumn(table: "dbo.CodeValues", name: "Discriminator", newName: "Discriminator1");
                AlterColumn("dbo.CodeValues", "Discriminator", c => c.String(nullable: false));
            }
     
            public override void Down()
            {
                AlterColumn("dbo.CodeValues", "Discriminator", c => c.String(nullable: false, maxLength: 128));
                RenameColumn(table: "dbo.CodeValues", name: "Discriminator1", newName: "Discriminator");
            }
        }
    Il ya un moyen pour qu'il ne crée pas cette colonne ou pense qu'elle existe ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    Il semblerait que cette colonne soit directement géré par EF, il existe des classes héritant de la classe mère CodeValue, et EF reconnaitrait ces classes grâce à cette propriété.
    Donc je n'ai pas à l'ajouter.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Macro qui modifie une cellule dans une colonne fixe
    Par nyto35 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/04/2013, 13h48
  2. Modifier une colonne avec du javascript
    Par fafoula dans le forum kettle/PDI
    Réponses: 1
    Dernier message: 04/03/2009, 13h43
  3. [LinkedList] itérateurs multiples qui modifient une même liste.
    Par nouknouk dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 14/08/2008, 13h38
  4. remplir une colonne entière avec la même valeur
    Par potili2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/11/2007, 13h24
  5. Modifier une colonne qui possède une contrainte DEFAUT
    Par David.V dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/01/2007, 12h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo