Fluent nHibernate with Automapping:如何在关系的 "Child" 侧设置反向

Fluent nHibernate with Automapping: How to set Inverse on "Child" side of relation

根据这个话题

我用 "parent" 属性:class:

class Box
{
    public virtual int Id { get; protected set;}
    public virtual IList<Item> Items {get; protected set;}
}

class Item
{
    public virtual int Id { get; protected set;}
    public virtual Box Parent {get; set;}
}

正如上面主题中所建议的,我编写了将 Parent 属性 的键列设置为与 Box 中的 Items 的键列相同的约定。 区别在于我想在 Parent 属性 上设置 Inverse,而不是在集合端。有没有可能做到这一点?
我已经尝试编写 IReferenceConvention 的正确实现,但我看不到这种可能性。

没有直接的语法使多对一关系成为反向关系。

这有一些原因:

  • 更自然
  • 并且性能更好,因为class(父)中的引用直接映射到数据库中的外键
  • 既然无论如何都需要在内存中保持一致(这是你自己要关心的部分),那无所谓。

您可以通过使 none 反转并抑制父 属性 的更新来欺骗它。我不知道 Fluent 是否可行。反正我是不会做的。就是自找麻烦

使用 XML 映射,它看起来像这样:

<many-to-one name ="Parent"  ... insert="false" update="false">

此处示例:http://www.codeproject.com/Articles/472019/Object-Relational-Mapping-ORM-u