开发者

NHibernate cascaded delete's other parent

I have A, B and C

B is a child of A开发者_Go百科

C is a child of B but B is not a parent of C (i.e. does not 'have-a' C - one way relationship)

C cascades deletes to B

so if I:

Session.Delete(C);

B will have been deleted, however A still has a reference to it and I get a "will be resaved" exception. Is there anyway around this without removing B from A's collection first? (which isn't a massive problem just adds extra code that I don't see as necessary).


Is there anyway around this without removing B from A's collection first?

No. The instance of B remains in code even after it has been deleted from the database. Delete really means make non-persistent when the session is flushed. If A has the B instance in a collection with cascading turned on, then it will be re-inserted after the delete.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜