Я получаю следующее сообщение об ошибке из консоли диспетчера пакетов при попытке удалить ссылку на класс:
Объект 'FK_dbo.Resultats_dbo.Ovelses_OvelseId' зависит от столбца 'OvelseId'.
ALTER TABLE DROP COLUMN OvelseId не выполнен, поскольку один или несколько объектов обращаются к этому столбцу.
Эта проблема возникает при следующих изменениях в моей модели
public class Resultater
{
public int Id { get; set; }
[Required]
public string AspNetUsersId { get; set; } //foreign key for users
//public Ovelser Ovelse { get; set; }
//[Required]
//public int OvelseId { get; set; }
[Required]
[Display(Name = "Dato")]
public DateTime Date { get; set; }
[Required]
public string Form { get; set; }
}
public class Ovelser
{
public int Id { get; set; }
[Required]
[Display(Name = "Øvelse")]
public OvelseType OvelseType { get; set; }
[Required]
public short OvelseTypeId { get; set; }
[Required]
public decimal Resultat { get; set; }
[Required]
[Display(Name = "Hvordan var utførelsen")]
public string Beskrivelse { get; set; }
}
Консоль диспетчера пакетов выдает мне следующий код при запуске миграции:
public override void Up()
{
DropForeignKey("dbo.Resultaters", "OvelseId", "dbo.Ovelsers");
DropIndex("dbo.Resultaters", new[] { "OvelseId" });
DropColumn("dbo.Resultaters", "OvelseId");
}
public override void Down()
{
AddColumn("dbo.Resultaters", "OvelseId", c => c.Int(nullable: false));
CreateIndex("dbo.Resultaters", "OvelseId");
AddForeignKey("dbo.Resultaters", "OvelseId", "dbo.Ovelsers", "Id", cascadeDelete: true);
}
Я обнаружил очень похожую проблему " Ошибка ALTER TABLE DROP COLUMN, потому что один или несколько объектов обращаются к этому столбцу ", но я не могу его применить.