单向一对多关系的流畅 NHibernate 配置 - 删除问题
Posted
技术标签:
【中文标题】单向一对多关系的流畅 NHibernate 配置 - 删除问题【英文标题】:Fluent NHibernate configuration for uni-directional one-to-many relation - Issue on Delete 【发布时间】:2014-07-22 08:20:02 【问题描述】:我有一个包含 DeliveryDays 集合的地址类。 映射如下(在这个精彩的网站上找到!=):
HasMany(x => x.DeliveryDays)
.KeyColumn("AddressId")
.Not.Inverse()
.Not.KeyNullable()
.Not.KeyUpdate()
.Cascade.All();
我的 DeliveryDay 类没有引用地址,我宁愿不这样做!
在向集合中添加项目时,一切都很好,但在删除项目时根本不行:没有生成 SQL 删除!
我错过了什么?
【问题讨论】:
【参考方案1】:要获得准确的答案,我认为您需要发布更多代码。根据您迄今为止发布的代码,我的猜测是您想使用 Cascade.AllDeleteOrphan() 而不是 Cascade.All()。
如果关联的地址被删除,级联选项 All 只会在 DeliveryDay 触发删除,而级联选项 AllDeleteOrphan 将在从关联的地址中删除 DeliveryDay 时触发删除(只要它不与不同的地址关联)。
【讨论】:
以上是关于单向一对多关系的流畅 NHibernate 配置 - 删除问题的主要内容,如果未能解决你的问题,请参考以下文章