我的SQL Server数据库中有两个表:Material
和MaterialProperty
。
Material
具有可空 MaterialPropertyID
列,该列引用ID
中的MaterialProperty
作为外键。它们之间的多对一映射:
<many-to-one name="MaterialProperty" column="MaterialPropertyID" class="MaterialProperty"/>
问题:使用
时this.Session.Delete(materialProperty);
在某些MaterialProperty
中用作FK的任何Material
上,nhibernate会使MaterialPropertyID
无效并删除条目,而不抛出异常。
直接SQL查询
DELETE FROM [dbo].[MaterialProperty]
WHERE name = '123'
当材料FK列引用该属性的id时,引发预期的错误。我想在nhibernate中实现相同的行为:即抛出异常而不是删除。