nhibernate - NHibernate 中的有序多对多关系

标签 nhibernate nhibernate-mapping many-to-many

假设我有两个类:Item 和 ItemCollection,其中 ItemCollection 包含带有索引的 Item 对象的有序列表,即该列表按照用户指定的方式排序。

我们还可以说它们具有多对多关系,一个 ItemCollection 可以包含许多项,一个 Item 可以属于多个 ItemCollection。

在我看来,这需要数据库中的三个表。一种用于 Item,一种用于 ItemCollection,一种用于有序映射。映射表将包含三列:

int ItemID
int ItemCollectionID
int ListIndex

问题:您将如何设计 ItemCollection 类? Item 对象的列表应该是列表、字典还是其他?将 ListIndex 放入图片中的 NHibernate 映射会是什么样子?

最佳答案

如果您使用 Fluent NHibernate,您将在 this article 中的 OrderMapping 代码中的 HasMany 映射中找到答案。 .

对于传统的 Hibernate 映射(XML 文件),请参阅 NHibernate 文档 here 第 21.3 章.

关于nhibernate - NHibernate 中的有序多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1678840/

相关文章:

c# - Criteria 可以返回 Dictionary 而不是 List<DTO> 吗?

nhibernate - 存储库/工作单元模式 - 如何在存储库中查询满足特定条件的对象?

nhibernate - 使用 ActiveRecord 在 nHibernate 中急切加载延迟加载的实体

c# - GetType().Name : for delete proxy from end of Name 的替代方案是什么

c# - 一对多映射不是级联删除

mysql - Laravel 5.8 多对多关系使用数据透视表的自定义列名称

NHibernate SchemaExport 无法删除表 .... 有时

c# - 由于抽象方法,NHibernate 创建代理实例失败

mysql - 多对多关系和复杂的 where 语句

doctrine - Symfony 1.4 Doctrine - 中间表中带有额外字段的多对多关系