NHibernate的产品/库存多库存问题

NHibernate的产品/库存多库存问题,nhibernate,Nhibernate,我正在开发一个ERP应用程序,其中需要动态支持多个库存,即每个仓库/分支机构需要每个产品的单独库存值。一种方法(避免使用静态表列)是使用一个单独的库存表,如下所示: [Product] Code ... [Branch] Code ... [Stock] ProductCode BranchCode StockValue ... 这实际上变成了一个由Stock表分隔的多对多关系。这种方法很快就会出现陷阱,例如: 如果有5家分公司(仓库),50k条产品线,则将有5*50k条库存线。这是不是

我正在开发一个ERP应用程序,其中需要动态支持多个库存,即每个仓库/分支机构需要每个产品的单独库存值。一种方法(避免使用静态表列)是使用一个单独的库存表,如下所示:

[Product]
Code
...

[Branch]
Code
...

[Stock]
ProductCode
BranchCode
StockValue
...
这实际上变成了一个由Stock表分隔的多对多关系。这种方法很快就会出现陷阱,例如:

  • 如果有5家分公司(仓库),50k条产品线,则将有5*50k条库存线。这是不是太过分了
  • 每次添加产品时,需要添加5个新的库存行-每个分支机构一个
  • 每次添加分支机构时,需要添加50k个新库存行
这背后的主要原理是避免使用静态列(这可能导致在添加新分支时修改映射文件)。所以它应该更具活力

过去是否有人使用过类似的概念,也许有更有效的解决方案?或者,如果这似乎是一个合适的解决方案,那么什么NHibernate关联方法可能最有效


谢谢。

我将创建一个单独的实体——仓库和商店是通用名称——作为库存容器。然后在分支机构和他们可以访问库存的仓库之间创建多对多关系。这使您可以灵活地将库存存储在分支机构和其他位置(租用空间),或允许多个分支机构从多个仓库提取库存。例如,稳健的ERP系统进一步将库存位置分为货架和位置

除非每个分支机构都有库存,否则我看不出你列出的潜在陷阱是有效的。使用仓库模型,库存是多对多表中的一条记录,其中包含仓库中的库存项目数量。如果记录不存在,则该位置不存在记录