我试图更新数据库并遇到此错误。我已经和它搏斗了一段时间,并且无法弄清楚发生了什么。
介绍FOREIGN KEY约束' FK_dbo.Comments_dbo.Users_UserId'在桌子上'评论'可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。 无法创建约束或索引。查看以前的错误。
以下是我的用户类:
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; }
}
这是我的评论类:
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);
我认为这是错误的,我需要删除有关用户删除的所有用户评论。
但它没有结果。我写错了什么?
答案 0 :(得分:0)
我认为您还有一个依赖项,例如它可能位于文章和用户之间,在这种情况下,您也必须应用此修复程序。