流利的NHibernate,多对多,从多对多表设置儿童属性
问题描述:
我有一个Subscriber
对象,其中包含一个Provider
对象的列表。提供者可以属于许多订阅者,因此是多对多的关系。这很好,除了Provider
需要定义Status
属性,但这不能存储在Provider
表中,因为对于不同的订户,相同的提供者可能具有不同的Status
,所以我将Status
存储在多对多表。目前,我有一个基本的许多一对多映射:流利的NHibernate,多对多,从多对多表设置儿童属性
HasManyToMany(s => s.Providers)
.Table("SubscriberProviders")
.ParentKeyColumn("SubscriberID")
.ChildKeyColumn("ProviderID");
我如何可以设置Status
特性,Provider
的,许多一对多映射中?
非常感谢
答
一个many-to-many
映射不能有自己的属性,所以你必须映射连接表为人工ProviderSubscriber实体,这将是从供应商one-to-many
。
要解决该问题的一个完整的示例,请参阅Many-to-many relationships with properties
答
你必须映射交叉引用表(NH目前为您生成),并改变供应商和用户之间的映射,而不是成为一个的hasMany()两边引用交叉参考表。
感谢迭戈,我居然结束了在此之前,我看到您的帖子。 – stevenbey 2011-03-12 15:16:51