【发布时间】:2017-04-26 20:41:50
【问题描述】:
我正在尝试更新数据库并收到此错误。我已经为此苦苦挣扎了一段时间,无法完全弄清楚发生了什么。
在表 '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; }
}
这是我的评论课:
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);
我认为是错误的,我需要在删除用户时删除所有用户cmet。
但它没有给出任何结果。我写错了什么?
【问题讨论】:
标签: .net entity-framework ef-code-first