我在这里发现了几个与此相关的问题,但我并不完全在那里。我正在尝试将第二个 UserProfile 属性添加到已经存在的 CourseRegistration 类。当我尝试执行迁移时,我得到“ALTER TABLE 语句与 FOREIGN KEY 约束“FK_dbo.CourseRegistrations_dbo.UserProfile_InstructorId”冲突
我以为我可以通过一些流畅的配置来解决它,但它没有效果。根据我读过的内容,我认为问题在于现有数据不允许这样做。
问题 1:我不完全理解它在抱怨什么,如果有人能解释一下,我想更好地理解它。问题2:除了删除表或删除数据之外,还有其他解决方法吗?这次我不介意这样做,但我确信在某些情况下这不是一个选择。
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
}
public class CourseRegistration
{
[Key]
public int RegistrationId { get; set; }
public int UserId { get; set; }
public int? InstructorId { get; set; }
public virtual UserProfile user { get; set; }
public virtual UserProfile Instructor { get; set; }
}
谢谢,
乔尔