.net 流畅的映射帮助

.net 流畅的映射帮助,.net,nhibernate,fluent,.net,Nhibernate,Fluent,这可能是一个非常简单的问题,但我是nHibernate的新手,我很难解决这个问题 我有一个页面对象,它可以有许多区域对象。我还有一个工作流对象。页面和区域对象都与工作流有关系,我遇到的问题就是这种双重关联 页面地图有 HasMany(Function(x) x.Regions).Cascade.All() 区域地图有: References(Function(x) x.Page) 这一切似乎都奏效了 但是我如何定义工作流和这两个对象之间的关系呢?它在您的数据库中是如何定义的?如果两者都有工

这可能是一个非常简单的问题,但我是nHibernate的新手,我很难解决这个问题

我有一个页面对象,它可以有许多区域对象。我还有一个工作流对象。页面和区域对象都与工作流有关系,我遇到的问题就是这种双重关联

页面地图有

HasMany(Function(x) x.Regions).Cascade.All()
区域地图有:

 References(Function(x) x.Page)
这一切似乎都奏效了


但是我如何定义工作流和这两个对象之间的关系呢?

它在您的数据库中是如何定义的?如果两者都有工作流的外键,则两者都会将
工作流
属性映射为:

References(Function(x) x.Workflow)
在每个映射类中。如果只有
页面
有它,并且因此推断出
区域
,则在
区域
上添加一个未映射的只读属性,因此:

public Workflow Workflow { get { return Page.Workflow; } }

你好两者都有外键。但是我如何映射反向关系呢?我认为您必须在关系的另一端使用来自References()的HasMany()?我也有点困惑,哪里最好使用逆和级联…考虑张贴你的数据模型的图表,使它更少的工作帮助人们。