流利的 NHibernate,多对多,从多对多表中为子对象设置属性

发布于 2024-10-21 04:05:51 字数 522 浏览 4 评论 0原文

我有一个 Subscriber 对象,其中包含 Provider 对象列表。提供者可以属于多个订阅者,因此存在多对多关系。这很好,除了 Provider 需要定义一个 Status 属性,但这不能存储在 Provider 表中,因为同一个提供程序可以不同的订阅者有不同的Status,因此我将Status存储在多对多表中。目前我有一个基本的多对多映射:

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

如何在多对多映射中设置 ProviderStatus 属性?

非常感谢

I have a Subscriber object that contains a list of Provider objects. Providers can belong to many Subscribers, hence the many-to-many relationship. This is fine, except that the Provider needs to define a Status property but this cannot be stored in the Provider table, as the same provider could have a different Status for different Subscribers, so I am storing the Status in the many-to-many table. At the moment I have a basic many-to-many mapping:

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

How can I set the Status property, of the Provider, within the many-to-many mapping?

Many thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无力看清 2024-10-28 04:05:51

多对多 映射不能拥有自己的属性,因此您必须将联接表映射到人工 ProviderSubscriber 实体,该实体将是 来自提供商的一对多

有关解决方法的完整示例,请参阅 多对-与属性的许多关系

A many-to-many mapping can't have properties of its own, so you have to map the join table into an artificial ProviderSubscriber entity, which will be one-to-many from the Provider.

For a full example of a workaround, see Many-to-many relationships with properties

温柔一刀 2024-10-28 04:05:51

您必须映射交叉引用表(NH 当前为您生成),并将提供者和订阅者之间的映射更改为引用交叉引用表的任一侧的 HasMany()。

You'll have to map the cross-reference table (which NH currently generates for you), and change the mapping between Providers and Subscribers to instead be a HasMany() on either side referencing the cross-reference table.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文