HasManyToMany关系的PropertyRef

时间:2011-05-24 17:32:11

标签: c# nhibernate fluent-nhibernate nhibernate-mapping

有没有办法使用FluentNhibernate在多对多关系中指定PropertyRef

我有3张桌子

  
      
  1. 事件(id,...)
  2.   
  3. EventOnline(id,eventId,onlineId)
  4.   
  5. 在线(id,代码,...)
  6.   

在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>

所以问题是......在FluentNhibernate的HasManyToMany构造中,PropertyRef的等价物是什么?

1 个答案:

答案 0 :(得分:0)

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

编译的