Я пытаюсь удалить сущность (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 SET TopicID = null WHERE TopicID = @ p0]
Это кажется странным, как я и думал, говоря Cascade.All () (событие, которое я пытался выполнить Cascade.Delete ()) на моем HasManyотображение его удалит все сообщения по этой теме.Буду признателен, если кто-нибудь покажет мне, что я делаю не так.Спасибо