跨多个表拆分NHibernate实体行存储

跨多个表拆分NHibernate实体行存储,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,在我们的NHibernate设置中,我们有一个列表实体。出于数据库性能的考虑,我们希望按国家/地区将其存储拆分为多个表(按照网站的设置方式,没有人可以一次搜索多个国家/地区)。所以,列出我们,列出我们,等等 两个问题,第一个比第二个重要得多: NHibernate有没有办法帮我做这个映射?大概它是基于Get()上生成的内部字段(我将在其中传入国家代码,或者可能将其集成到主键?),然后读取Save() 它是否也包含在模式中,并且在从头创建整个DB模式时可以导出 编辑:我刚刚意识到这会对尝试做选择造

在我们的NHibernate设置中,我们有一个列表实体。出于数据库性能的考虑,我们希望按国家/地区将其存储拆分为多个表(按照网站的设置方式,没有人可以一次搜索多个国家/地区)。所以,列出我们,列出我们,等等

两个问题,第一个比第二个重要得多:

  • NHibernate有没有办法帮我做这个映射?大概它是基于Get()上生成的内部字段(我将在其中传入国家代码,或者可能将其集成到主键?),然后读取Save()

  • 它是否也包含在模式中,并且在从头创建整个DB模式时可以导出


  • 编辑:我刚刚意识到这会对尝试做选择造成严重破坏。显然,因为我不想每次都查询每个表(这会破坏性能优势),所以我必须要有某种类型的Listing_XX实体,但也许它可以从通用列表继承?不过,我不确定这将如何输入XML映射。

    您可以尝试NHibernate碎片(源代码位于)

    如果您的数据库支持分区表(您没有说您使用的是哪个数据库),那么使用分区表可能会更好。只要始终使用分区列值集进行查询,就可以轻松获得多个表的所有性能优势。

    谢谢-我看了一下,但它似乎不是很成熟?无论如何,我通过使用Fluent NHibernate和继承成功地解决了我的问题: