如何告诉NHibernate将FK空字符串视为NULL?

如何告诉NHibernate将FK空字符串视为NULL?,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,我正在处理一个遗留数据库,其中包含一些“有趣的”结构。我有一个表“Operation”,其中有一个名为“personelid”的可为空字符串列。此列指向一个名为“Personal”的表,其中包含一个整数主键列。当PersonnelID列是表示为字符串的整数或NULL时,NHibernate没有问题,但当该列包含空字符串(或其他任何相关内容)时,它会爆炸。虽然这是有意义的,但我想让它足够智能,能够识别“PersonnelID”值可用于加载相关人员以及何时将值视为垃圾。我将在何处注入我的逻辑?似乎是

我正在处理一个遗留数据库,其中包含一些“有趣的”结构。我有一个表“Operation”,其中有一个名为“personelid”的可为空字符串列。此列指向一个名为“Personal”的表,其中包含一个整数主键列。当PersonnelID列是表示为字符串的整数或NULL时,NHibernate没有问题,但当该列包含空字符串(或其他任何相关内容)时,它会爆炸。虽然这是有意义的,但我想让它足够智能,能够识别“PersonnelID”值可用于加载相关人员以及何时将值视为垃圾。我将在何处注入我的逻辑?似乎是IUserType,但不完全如此。

您可以在多对一上设置
not found=“ignore”
属性。从文档:

找不到(可选-默认为异常):指定外部 将处理引用缺少行的键:忽略将处理 缺少作为空关联的行


你能运行一次sql查询来清理垃圾吗?比如updatescript之类的