无法从列表中删除对象

时间:2013-10-09 02:13:54

标签: c# nhibernate fluent-nhibernate

我有一个对象

Ticket
-List<AssociatedUsers> Users

AssociatedUsers
-Ticket Ticket

我的映射如下所示:

// Ticket Map:
HasMany(t => t.Users)
                 .Inverse()
                .Cascade.AllDeleteOrphan();       

// AssociatedUsers Map:
References(u => u.Ticket).Cascade.SaveUpdate()

当我尝试从baseTicket列表中删除一个assocateduser时,我收到一条错误消息:

  

删除的对象将通过级联重新保存(从关联中删除已删除的对象)

我尝试了Cascades的一些变化,但我无法弄明白,我想知道为什么它不起作用而不是偶然幸运。

var user = FindAssociatedUserInTicket(userName);
user.AssertIsNotNull("No user found");
session.Delete(user);

我试过了:

ticket.RemoveUserFromList(userName); //List.Delete function for the found user
session.Save(ticket)

1 个答案:

答案 0 :(得分:0)

为什么需要级联故障单?

// AssociatedUsers Map:
References(u => u.Ticket).Cascade.SaveUpdate()

删除级联并使用第二种方法:

Ticket.RemoveUserFromList(userName);
session.Save(ticket)