我怎么能告诉NHibernate将FK空字符串视为NULL?

时间:2011-07-25 16:06:40

标签: nhibernate fluent-nhibernate

我正在处理一个带有一些“有趣”结构的遗留数据库。我有一个表“操作”,带有一个名为“PersonnelID”的可空字符串列。此列指向名为“Personnel”的表,其中包含整数主键列。当PersonnelID列是一个表示为字符串的整数或NULL时,NHibernate没有问题,但是当该列包含一个空字符串(或其他任何内容)时它会爆炸。虽然这是有道理的,但我想做它聪明到足以识别何时可以使用“PersonnelID”值来加载相关的Personnel以及何时将值视为垃圾。我将在哪里注入逻辑?看起来像IUserType,但不完全。

1 个答案:

答案 0 :(得分:2)

您可以在多对一上设置not-found="ignore"属性。来自文档:

  

not-found(可选 - 默认为exception):指定外来的方式   将处理引用缺失行的键:ignore将处理a   缺少行作为空关联。