エンティティ (ForumTopic) を削除し、その中の投稿 (ForumPost) を削除しようとしています。ここに私のエンティティがあります:
public class ForumTopic
{
public virtual int TopicID { get; set; }
public virtual IList<ForumPost> Posts { get; private set; }
...
public ForumTopic()
{
Posts = new List<ForumPost>();
}
}
public class ForumPost
{
public virtual int PostID { get; set; }
public virtual ForumTopic Topic { get; set; }
...
}
次のマッピングを使用します。
public ForumTopicMap()
{
Table("ForumTopics");
Id(x => x.TopicID);
HasMany(x => x.Posts)
.Cascade.All();
...
}
public ForumPostMap()
{
Table("ForumPosts");
Id(x => x.PostID);
References(x => x.Topic, "TopicID");
...
}
ただし、トピックを削除すると、次のエラーが表示されます。
[ForumTopic.Posts#14][SQL: UPDATE ForumPosts SET TopicID = null WHERE TopicID = @p0]
HasMany マッピングで Cascade.All() (イベントは Cascade.Delete() を試しました) と言って、このトピックのすべての投稿を削除すると思ったので、これは奇妙に思えます。誰かが私が間違っていることを教えてくれれば幸いです。ありがとう