0

我有一个对象

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 列表中删除关联用户时,我收到一条错误消息:

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

我尝试了 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)
4

1 回答 1

0

为什么需要级联票证?

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

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

Ticket.RemoveUserFromList(userName);
session.Save(ticket)
于 2013-10-09T23:04:30.397 回答