データベースを更新しようとしていますが、このエラーが発生しました。私はしばらくこのことに取り組んできましたが、何が起きているのかは分かりません。EF6 CodeFirst - FOREIGN KEY制約を導入すると、サイクルまたは複数のカスケードパスが発生する可能性があります。
テーブル 'コメント'にFOREIGN KEY制約 'FK_dbo.Comments_dbo.Users_UserId'を導入すると、サイクルまたは複数のカスケードパスが発生することがあります。 NO DELETE NO ACTIONまたはUP UP NO 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);
私はそれが間違っていると思う、私はユーザーの削除に関するすべてのユーザーのコメントを削除する必要があります。
しかし、結果は得られません。私が間違って書いたことは?