2014-07-10 2 views
2

J'utilise Entity Framework. La table existe déjà avec la colonne my_column. J'ai ajouté la propriété my_column à ma classe pour accéder à cette colonne. Le programme semble alors essayer de créer la colonne, mais échoue depuis qu'il existe déjà. Y a-t-il un moyen de ne pas essayer de créer la colonne et de reconnaître que celle existante est celle qu'elle devrait utiliser?Entity Framework essayant de créer une colonne en double

+4

code postal, s'il vous plaît –

+0

Avez-vous des données dont vous avez besoin sur cette colonne en db? Si non, vous pouvez essayer 'update-database -v -f' ou même supprimer toute la table pour que la migration soit re-générée. – sed

+0

Avez-vous modifié le type de données? Ou la capitalisation? –

Répondre

0

Vous pouvez modifier la migration avant de mettre à jour la base de données. Supprimer les doublons et voir ce qui se passe.

  migrationBuilder.CreateTable(

      name: "InvoiceConsumers", 

      columns: table => new 

      { 

       …, 

       InvoiceId = table.Column<int>(nullable: false), 

       InvoiceId1 = table.Column<int>(nullable: true) 

      }, 

      constraints: table => 

      { 

       table.PrimaryKey("PK_InvoiceConsumers", x => x.Id); 

       table.ForeignKey(

        name: "FK_InvoiceConsumers_Consumers_ConsumerId", 

        …); 

       table.ForeignKey(

        name: "FK_InvoiceConsumers_Invoices_InvoiceId", 

        … 

        onDelete: ReferentialAction.Cascade); 

       table.ForeignKey(

        … 

        column: x => x.InvoiceId1, 

        principalTable: "Invoices", 

        … 

        ); 

      }); 
Questions connexes