Ho modificato il tipo di proprietà Id da Int a Guid, nessun'altra entità fa riferimento a Id e ho cancellato manualmente tutti i record di tale entità dal database, la mia classe di migrazione generata ha questo aspetto:Modifica Entity Framework Tipo ID
public override void Up()
{
AlterColumn("dbo.RoutineExercises", "RoutineExerciseId", c => c.Guid(nullable: false));
}
public override void Down()
{
AlterColumn("dbo.RoutineExercises", "RoutineExerciseId", c => c.Int(nullable: false, identity: true));
}
e sto ottenendo questo errore quando ho eseguito il comando update-database:
I 'PK_dbo.RoutineExercises' oggetto è dipendente sulla colonna 'RoutineExerciseId'. ALTER TABLE ALTER COLUMN RoutineExerciseId non riuscito perché uno o più oggetti accedono a questa colonna.
E la mia configurazione FluentAPI assomiglia a questo:
modelBuilder.Entity<RoutineExercise>().HasKey(r => r.RoutineExerciseId);
modelBuilder.Entity<RoutineExercise>()
.HasRequired(r => r.Exercise)
.WithMany()
.HasForeignKey(r => r.ExerciseId)
.WillCascadeOnDelete(true);
modelBuilder.Entity<RoutineExercise>()
.HasRequired(r => r.Routine)
.WithMany()
.HasForeignKey(r => r.RoutineId)
.WillCascadeOnDelete(true);
Come posso risolvere questo problema senza far cadere tutto il database?