1
我有一个标准的父 - 子(1:许多)relationalship,配置为使用功能NHibernate:(流利)NHibernate的:迫使外国键为null上删除
在父方:
HasMany(x => x.Items).Inverse().Cascade.All();
而对孩子的一面:
Map(x => x.ItemCategory).Nullable().Index("idx_item_category").Not.LazyLoad()
(编辑回应epitka的评论:)
记录是通过调用
session.Delete(item_category)
这是在交易完成的唯一操作删除。
(完编辑)
目前,当我删除ItemCategory记录它级联删除对所有项目,这似乎是工作根据文档预期。
我想要的是当ItemCategory记录被删除时,Item.ItemCategory自动设置为空。
我似乎只能完全关闭级联,导致数据库破损(项目引用缺失的类别)。所以,目前我必须手动执行此操作,这比我想要的更容易出错。
是否可以配置此行为?
使用Session.delete(item_category)
你是怎么删除它的?你是从集合中删除它,发出HQL删除,还是其他的东西。向我们显示代码... – epitka 2010-10-19 20:20:38