使用NHibernate创建虚拟的多对多关系

时间:2010-09-01 04:31:45

标签: nhibernate fluent-nhibernate

假设您有三个实体 - CategoriesSitesItems。 Items表格包含CategoryIDSiteID。如果我想找到给定类别的站点,我可以通过NHibernate中的映射来获得它,如下所示:

public CategoryMap()
{
  //..
  ManyToMany(x => x.Site)
    .Table("Items")
    .ParentKey("CategoryID")
    .ChildKey("SiteID");
}

如果我想要所有类别的列表以及类别所属的网站,这非常有用。但我还想创建一个名为“Uncategorized”的类别,并列出那里不属于某个类别的网站。我可以用第二个查询来完成它,但我想知道是否有办法创建一个“虚拟”类别,它将成为Category集合的一部分,或者其他一些我不知道的技巧。我也很容易被告知这是非常错误的。

1 个答案:

答案 0 :(得分:0)

这将是您的模型/服务的一部分; NHibernate无法提供它。