(Fluent)具有类键的NHibernate字典映射

(Fluent)具有类键的NHibernate字典映射,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,域: 问题:我需要得到母公司产品的清单。是否可以将父产品映射到字典,以便我可以执行以下操作: product.Parents[“CategoryName”] 它会给我一个给定类别的母产品列表 或许 Categories (ID, Name) Products (ID) ProductParents (ID, ParentID, ChildID, CategoryID) 如果我使用 product.Parents[Category("CategoryName")] IDic

域:

问题:我需要得到母公司产品的清单。是否可以将父产品映射到字典,以便我可以执行以下操作: product.Parents[“CategoryName”] 它会给我一个给定类别的母产品列表

或许

   Categories (ID, Name) 
   Products (ID)
   ProductParents (ID, ParentID, ChildID, CategoryID)
如果我使用

product.Parents[Category("CategoryName")]
IDictionary父级
或者我该怎么做?可能是像product.GetParentProducts(字符串类别)这样的方法,而不是属性?不过我宁愿用字典


请注意,我并不想引入ProductMapping类。

这在NHibernate中是可能的;你要找的东西叫a

这在Fluent NHibernate中目前不可用,但我正在努力添加它。然而,由于FNH中正在进行“回复”,它可能在一段时间内无法使用。您最好使用标准HBM文件进行此映射


如果您想进一步调查在FNH中执行此操作(注意:您必须维护您自己的本地库副本),您可以查看我所做的操作。

谢谢您的指点。然而,据我所知,这是可用的,作为的一部分固定,并集成在中。我将获得并测试最新版本。是的,但是我的理解是,上面的(我实现的)是无用的。。。当我实现它的时候,我并没有真正的思考,所以虽然可以用这个补丁生成一个正确的映射,但它实际上不适用于NHibernate。NH需要一个原始补丁不支持的IDictionary(见第230期)。我创建了一个可能对你有用的黑客补丁,但是它又不在FNH主干中,所以你可以重新维护自己的FNH副本。我尝试了你的黑客补丁,但它对我无效。我得到“预期2个泛型参数,但得到1个”。这可能是因为我滥用了这个功能,因为我还不是专家。所以我继续使用一个中间实体(这很好),我想我会等待一个“正式”修复,希望有一点文档…;-)我已经将正式修复提交给github上的主FNH存储库。如果您愿意使用“beta”版本,请检查具有所需功能的模型分支。或者,您可以等一两周,因为我们应该在那个时候发布1.0。
product.Parents[Category("CategoryName")]
IDictionary<Category, Product> Parents