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 :
Je génère ma migration avec un IgnoreChanges je met à jour ma base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [Required] public string Discriminator { get; set; }
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 :
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 public partial class MigrationCode: DbMigration { public override void Up() { } public override void Down() { } }
Il ya un moyen pour qu'il ne crée pas cette colonne ou pense qu'elle existe ?
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"); } }
Partager