NHibernate映射动态属性

时间:2011-06-17 14:16:53

标签: nhibernate fluent-nhibernate

您好我的网站有以下数据库结构:

  • Id(PK,身份)
  • 名称

文档

  • Id(PK,身份)
  • SectionId(FK to Sections)

文章

  • Id(PK,FK to Documents)
  • 标题
  • 内容

链接

  • Id(PK,FK to Doucments)
  • 标题
  • SomeOtherField

MetaComponent

  • Id(PK,FK to Documents)
  • 的MetaKeywords
  • MetaDescription

SectionComponents

  • SectionId(FK to Sections)
  • 组件名

该网站包含多个部分(上述结构中的文章和链接)。 “文章”和“链接”表使用仅适用于该特定部分的额外字段扩展文档。每个部分都可以选择添加其他组件。 MetaComponent表是一个特定组件的示例,其中包含搜索引擎元信息。

我想知道是否可以映射我的应用程序,以便我可以查询所有文章并加入它以获取该特定文章的元信息。我知道我可以在我的Article类中添加Meta属性,但我希望能够轻松地打开和关闭哪些组件适用于特定部分。我想我必须做一些有点发现才能检索这些信息的东西,如果有人可以提供帮助,我会很感激。

我希望我已经清楚地解释了事情。

由于

1 个答案:

答案 0 :(得分:0)

首先,nHib(或任何ORM)的最大优势之一是它使您能够将您的应用程序域视为实体而不是
因此,在您的情况下,我认为将Document entity 视为基类是更正确,更易理解的,其中Link和Article是子类。
当我们这样看时,问题的解决方案很明显 - 子类的映射:
* fluent nHib docs用于映射继承,
*更详细的信息可以在nHib docs

中找到