您如何在流利的 nhibernate 中映射和使用连接表?

Posted

技术标签:

【中文标题】您如何在流利的 nhibernate 中映射和使用连接表?【英文标题】:How can you map and work with a junction table in fluent nhibernate? 【发布时间】:2012-01-20 10:40:43 【问题描述】:

我有两个表和一个联结表的经典场景。 比方说,位置、价格和 LocationXPrices。

LocationXPrices 仅包含位置和价格的 id,以便我们知道它们之间的关系。

我们得出的最佳方法是这样的: - 将多对多的位置映射到价格 - 将多对多的价格映射到位置 - 没有针对 LocationsXPrices 的特定映射和 .NET 对象。

将在读取位置时创建交汇点。 插入将与位置一起完成。

这是处理这种情况的最佳做法吗? 谁能提供更好的解决方案? 这对我来说并不那么自然。

谢谢你, 摩苏。

【问题讨论】:

【参考方案1】:

是的,这是您的联结表表示像这样的纯弱实体的最佳实践,没有其他信息。联结表只是在 RDBMS 中对这种情况进行建模的必要工件; NHibernate 允许您完全隐藏它,因此您可以使用真正的多对多关系而不是 RDBMS 强制执行的多对多关系。

【讨论】:

好的,谢谢您的回答。你知道如何让它工作吗?它在两个表中都插入,除了 Junction 一个。一定是映射问题,但不清楚是什么。

以上是关于您如何在流利的 nhibernate 中映射和使用连接表?的主要内容,如果未能解决你的问题,请参考以下文章

使用流利的 nhibernate 映射枚举

使用流利的nhibernate映射枚举

使用 2 种策略通过 fluent nhibernate 映射类层次结构

in (ASP.NET) 之外的流利 NHibernate 错误映射程序集

流利的NHibernate显示不使用给定的属性名称

流利的 NHibernate 多对多创建附加表