我有一个Subscriber
对象,其中包含Provider
个对象的列表。提供商可以属于许多订户,因此是多对多关系。这很好,除了Provider
需要定义Status
属性,但这不能存储在Provider
表中,因为同一个提供者可能有不同的Status
不同的订阅者,所以我将Status
存储在多对多表中。目前我有一个基本的多对多映射:
HasManyToMany(s => s.Providers)
.Table("SubscriberProviders")
.ParentKeyColumn("SubscriberID")
.ChildKeyColumn("ProviderID");
如何在多对多映射中设置Status
的{{1}}属性?
非常感谢
答案 0 :(得分:1)
您必须映射交叉引用表(NH当前为您生成),并更改提供者和订阅者之间的映射,而不是引用交叉引用表的任何一方的HasMany()。
答案 1 :(得分:1)
many-to-many
映射不能拥有自己的属性,因此您必须将连接表映射到人工 ProviderSubscriber 实体,该实体将是one-to-many
提供商。
有关变通方法的完整示例,请参阅Many-to-many relationships with properties