代码之家  ›  专栏  ›  技术社区  ›  Paul

流畅的层次数据

  •  2
  • Paul  · 技术社区  · 15 年前

    嘿,大家好。关于流利语法的快速问题。我本以为我把它放下了,但我却遭遇了一次奇怪的失败。基本上,我有一种我试图坚持的层次结构,而且它似乎都可以工作,除非我用DB做一个实际的集成测试。

    我有一个节点对象,它有一个父属性,这是另一个节点,还有一个支持只读子属性的子字段,它也是节点的集合。

    属性处理了关联关系,内存中的对象测试得很好。但是,当我从存储库(我的测试中是内存中的sqlite db)中检索它们时,出于某种原因,任何节点的子节点都包含自己。有什么想法吗?

    我的映射大部分是使用automap完成的,但我已经覆盖了以下内容:

    mapping.References(x => x.Parent);
    mapping.HasMany(x => x.Children).Inverse().Access.LowerCaseField(Prefix.Underscore);
    

    我也尝试过不使用inverse()调用。

    1 回复  |  直到 15 年前
        1
  •  3
  •   Paul    15 年前

    知道了。问题是,我需要告诉子集合要为外键连接到哪个ID字段。

    我把地图改成这样:

    mapping.HasMany(m => m.Children)
      .Inverse()
      .KeyColumn("ParentId")
      .Access.CamelCaseField(Prefix.Underscore)
      .Cascade.All()