我正在处理一个带有一些“有趣”结构的遗留数据库。我有一个表“操作”,带有一个名为“PersonnelID”的可空字符串列。此列指向名为“Personnel”的表,其中包含整数主键列。当PersonnelID列是一个表示为字符串的整数或NULL时,NHibernate没有问题,但是当该列包含一个空字符串(或其他任何内容)时它会爆炸。虽然这是有道理的,但我想做它聪明到足以识别何时可以使用“PersonnelID”值来加载相关的Personnel以及何时将值视为垃圾。我将在哪里注入逻辑?看起来像IUserType,但不完全。
答案 0 :(得分:2)
您可以在多对一上设置not-found="ignore"
属性。来自文档:
not-found(可选 - 默认为exception):指定外来的方式 将处理引用缺失行的键:ignore将处理a 缺少行作为空关联。