【发布时间】:2015-05-05 06:25:50
【问题描述】:
我有两个表,tableA 和 tableB。
tableA 有列:tabAId、col2、col3 (tabAId primaryKey 和 Identity 列。)
tableB 有列:tabAId,名称(tabAId 不为空)
我已经在tableA的hbm文件中创建了Bag,用来维护关系。
<bag name="tableB" lazy="true" inverse="false"
batch-size="25" cascade="all-delete-orphan">
<key column="tabAId" />
<one-to-many class="tableB" />
</bag>
当我尝试更新 tableA 中的记录时,它会抛出异常,因为我在 tableA 实例中有子列表。
[NHibernate.Exceptions.GenericADOException] = {"无法删除集合:[MIHR.Entities.tableA.tableB#21][SQL: UPDATE dbo.tableB SET tabAId = null WHERE tabAId = @p0]"}
InnerException = {"无法将 NULL 值插入列 'tabAId',表 'SA_MIHR_DEV.dbo.tableB'; 列不允许空值。 UPDATE 失败。\r\n语句已终止。"}
【问题讨论】:
标签: c# hibernate nhibernate hbm