此问题的解决方法是什么?使用数据注释可以实现吗?
public class QuestionModel
{
[Required]
public int Id { get; set; }
public long AskedUserId { get; set; }
[ForeignKey("AskedUserId")]
public virtual ApplicationUser AskedApplicationUser { get; set; }
public long AskerId { get; set; }
[ForeignKey("AskerId")]
public virtual ApplicationUser AskerApplicationUser { get; set; }
[Required]
public string content { get; set; }
public bool IsAnswered { get; set; }
}
此模型有什么问题?为什么会出现此错误:
在表“问题”上引入外键约束“ FK_Questiions_AspNetUsers_AskerId”可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。 无法创建约束或索引。查看以前的错误。
答案 0 :(得分:0)
当ForeignKey
装饰应该位于属性上方时,它们已经位于属性下方。该属性被应用于错误的属性。
您还多次出现了AskedApplicationUser
属性。
尝试一下:
public class QuestionModel
{
[Required]
public int Id { get; set; }
[ForeignKey("AskedUserId")]
public long AskedUserId { get; set; }
[ForeignKey("AskerId")]
public long AskerId { get; set; }
public virtual ApplicationUser AskedApplicationUser { get; set; }
[Required]
public string content { get; set; }
public bool IsAnswered { get; set; }
}