我正在尝试更新数据库并得到此错误 . 我已经和它搏斗了一段时间,并且无法弄清楚发生了什么 .
在表'Comments'上引入FOREIGN KEY约束'FK_dbo.Comments_dbo.Users_UserId'可能会导致循环或多个级联路径 . 指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束 . 无法创建约束或索引 . 查看以前的错误 .
这是我的 User 课程:
public class User
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Email { get; set; }
[Required]
public UserType ProfileType { get; set; }
[Required]
public string PasswordHash { get; set; }
[Required]
public int Location { get; set; }
public int? SessionTokenId { get; set; }
public SessionToken SessionToken { get; set; }
public List<Comment> Comments { get; set; }
}
这是我的 Comment 课程:
public class Comment
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
public int UserId { get; set; }
[Required]
public int ArticleId { get; set; }
[Required]
public string Message { get; set; }
[Required]
public DateTime PostDate { get; set; }
public User User { get; set; }
public Article Article { get; set; }
}
我试图添加一些:
modelBuilder.Entity<Comment>()
.HasRequired(u => u.User)
.WithMany()
.WillCascadeOnDelete(false);
我认为这是错误的,我需要删除有关用户删除的所有用户评论 .
但它没有结果 . 我写错了什么?
1 回答
我想你还有一个依赖项,例如它可能在Article和User之间,在这种情况下你也必须应用你的修复 .