我正在使用流利映射的一些probs.我有一个实体与实体的子集合,例如Event和EventItems.
如果我将集合的级联映射设置为AllDeleteOrphan,则在将新实体保存到数据库时会出现以下错误:NHibernate.HibernateException:拥有实体实例不再引用具有cascade ="all-delete-orphan"的集合:Core.Event.EventItems
如果我将级联设置为All,它可以正常工作吗?以下是我的类和映射文件:
public class EventMap : ClassMap<Event>
{
public EventMap()
{
Id(x => x.Id, "Id")
.UnsavedValue("00000000-0000-0000-0000-000000000000")
.GeneratedBy.GuidComb();
Map(x => x.Name);
HasMany(x => x.EventItems)
.Inverse()
.KeyColumn("EventId")
.AsBag()
.Cascade.AllDeleteOrphan();
}
}
public class EventItemMap : SubclassMap<EventItem>
{
public EventItemMap()
{
Id(x => x.Id, "Id")
.UnsavedValue("00000000-0000-0000-0000-000000000000")
.GeneratedBy.GuidComb();
References(x => x.Event, "EventId");
}
}
public class Event : EntityBase
{
private IList<EventItem> _EventItems;
protected Event()
{
InitMembers();
}
public Event(string name)
: this()
{
Name = name;
}
private void InitMembers()
{ …Run Code Online (Sandbox Code Playgroud)