我已经搜索了很多地方,但仍然找不到我正在寻找的答案。
我正在使用 NHibernate 3.2 - 代码映射
我有以下映射文件:
public class ParentMapping: EntityMapping<Parent>
{
public ParentMapping()
{
Set(x => x.Children, map =>
{
map.Cascade(Cascade.All);
map.Inverse(true);
}, r => r.OneToMany());
}
}
public class ChildMapping: JoinedSubclassMapping<Child> // This is a subclass of something else.
{
public RequiredSkillMapping()
{
ManyToOne(x => x.Parent, map => { map.NotNullable(true); });
}
}
级联保存工作正常。
session.Save(parent) will save the children and associate them correctly.
当我尝试打电话时:
var parent = session.Get<Parent>(1);
parent.Children.Clear();
session.Save(parent); or session.SaveOrUpdate(parent) or session.Update(parent)
实体与父实体保持关联。
我通过调用它来工作:
foreach(var child in parent.Children)
{
session.Delete(child);
}
parent.Children.Clear();
我希望有一种方法可以拯救父母吗?
干杯,
詹姆士