有没有办法使用FluentNhibernate在多对多关系中指定PropertyRef
?
我有3张桌子
- 事件(id,...)
- EventOnline(id,eventId,onlineId)
- 在线(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>
所以问题是......在FluentNhibernate的HasManyToMany构造中,PropertyRef的等价物是什么?
答案 0 :(得分:0)
HasManyToMany().ChildPropertyRef().PropertyRef()
在FNH 1.1中实施,该编译是针对NH 2.1