【问题标题】:Fluent NHibernate reference FK with whitespace value具有空白值的流畅 NHibernate 参考 FK
【发布时间】:2012-07-27 14:21:33
【问题描述】:

我正在尝试映射无法更改的旧系统 (Jet db) 中的两个表。子表对父表中的字符串类型列具有 FK。父表中的 FK 列是必需的,但通常是空格,即“”。我知道这没有任何意义,但这是我必须处理的。我的映射是;

        References(x => x.ParentObject)
              .Formula("NOT ParentFKColumn = ' '")
              .Column("ChildFKColumn")
              .LazyLoad()
              .Nullable();  

此映射导致以下异常“非法访问加载集合:输入字符串''格式不正确”。错误似乎很明显 - 我只是不确定如何流畅地处理它。

感谢您的宝贵时间。

【问题讨论】:

    标签: nhibernate fluent-nhibernate nhibernate-mapping fluent-nhibernate-mapping


    【解决方案1】:

    我假设父表中的字符串类型列不是主键,因此您需要将其映射为property 并使用property-ref

     References(x => x.ParentObject)
              .PropertyRef("stringProperty")
              .Column("ChildFKColumn")
              .Not.LazyLoad()      // to prevent creating invalid Proxies, but property-ref should already do this
              .NotFound.Ignore(); // threat all values in the foreign key which 
    

    .NotFound.Ignore(); 告诉 NH 威胁外键中所有未指向有效记录的值为 null。

    【讨论】:

      猜你喜欢
      • 2015-07-12
      • 1970-01-01
      • 2012-09-05
      • 2011-02-05
      • 1970-01-01
      • 1970-01-01
      • 2021-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多