2011-03-11 75 views
0

我有一个Subscriber对象,其中包含一个Provider对象的列表。提供者可以属于许多订阅者,因此是多对多的关系。这很好,除了Provider需要定义Status属性,但这不能存储在Provider表中,因为对于不同的订户,相同的提供者可能具有不同的Status,所以我将Status存储在多对多表。目前,我有一个基本的许多一对多映射:流利的NHibernate,多对多,从多对多表设置儿童属性

HasManyToMany(s => s.Providers) 
    .Table("SubscriberProviders") 
    .ParentKeyColumn("SubscriberID") 
    .ChildKeyColumn("ProviderID"); 

我如何可以设置Status特性,Provider的,许多一对多映射中?

非常感谢

回答

1

一个many-to-many映射不能有自己的属性,所以你必须映射连接表为人工ProviderSubscriber实体,这将是从供应商one-to-many

要解决该问题的一个完整的示例,请参阅Many-to-many relationships with properties

+0

感谢迭戈,我居然结束了在此之前,我看到您的帖子。 – stevenbey 2011-03-12 15:16:51

1

你必须映射交叉引用表(NH目前为您生成),并改变供应商和用户之间的映射,而不是成为一个的hasMany()两边引用交叉参考表。