Когда я запускаю следующую миграцию, я получаю следующее сообщение об ошибке:Оператор TABLE ALTER противоречили с ограничением FOREIGN KEY
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint
У меня есть существующая база данных и рефакторинга модель включает свойство навигации.
Смотрите оригинальную модель, а затем новую модель:
Оригинальная модель:
public class Student
{
public int ID { get; set; }
public string Name { get; set; }
public string Country { get; set; }
}
Новая модель:
public class Student
{
public int ID { get; set; }
public string Name { get; set; }
public int CountryID { get; set; }
public virtual Country Country { get; set; }
}
public class Country
{
public int ID { get; set; }
public string Country { get; set; }
}
Add-Migration
навигации свойство:
public override void Up()
{
CreateTable(
"dbo.Countries",
c => new
{
ID = c.Int(nullable: false, identity: true),
CountryName = c.String(),
})
.PrimaryKey(t => t.ID);
AddColumn("dbo.Students", "CountryID", c => c.Int(nullable: false));
CreateIndex("dbo.Students", "CountryID");
AddForeignKey("dbo.Students", "CountryID", "dbo.Countries", "ID", cascadeDelete: true);
DropColumn("dbo.Students", "Country");
}
Update-Database
ошибка:
System.Data.SqlClient.SqlException (0x80131904): The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_dbo.Students_dbo.Countries_CountryID". The conflict occurred in database "aspnet-navprop-20141009041805", table "dbo.Countries", column 'ID'.
Почему этот вопрос проголосовали? Я думал, что вопрос хорошо документирован. –