PropertyRef on a HasManyToMany Relationship

本文关键字:Relationship HasManyToMany on PropertyRef | 更新日期: 2023-09-27 17:57:28

有没有一种方法可以使用Fluenthibernate在多对多关系上指定PropertyRef

我有3张桌子

  1. 事件(id,…)
  2. EventOnline(id,eventId,onlineId)
  3. 联机(id、代码…)

在EventOnline表上,我通过它的"代码"列而不是Id连接到Online表。如果这是一个常规的一对一关系,我会做一些类似的事情

References(x => x.Online, "onlineId").PropertyRef("Code");

在EventOnlineMap中。

但我想在EventMapping中将其表示为多对多关系。

HasManyToMany(x => x.Onlines).Table("EventOnline").ParentKeyColumn("EventId").ChildKeyColumn("OnlineId").LazyLoad().AsSet().Access.ReadOnlyPropertyThroughLowerCaseField(Prefix.Underscore);

问题是我不能在HasManyToMany构造上指定PropertyRef("code")。如果我在xml中进行映射,那么这个属性确实存在。

<set name="Onlines" table="EventOnline" access="nosetter.camelcase-underscore" schema="EventsCalendar.dbo" lazy="true">
     <key column="eventId"></key>
     <many-to-many class="CommonLookupService.Data.Domain.Online, CommonLookupService.Data" column="onlineId" property-ref="Code"></many-to-many>
</set>

所以问题是……Fluenthibernate中HasManyToMany构造上的PropertyRef等价物是什么?

PropertyRef on a HasManyToMany Relationship

HasManyToMany().ChildPropertyRef().PropertyRef()在FNH 1.1中实现,FNH 1.1是针对NH 2.1 编译的