关于扩展对象的Nhibernate问题而不改变原始映射

时间:2009-10-05 22:57:17

标签: nhibernate nhibernate-mapping

假设我的cms只有一个名为Article的对象(为了这个例子),带有ID和标题。此CMS实现成为框架的一部分,并用作库:例如CMSFactory.CMS.SaveArticle(一);

问题在于,根据项目要求,文章对象可能包含更多字段,例如SomeDate。有没有办法声明这种关系,仍然保存一篇文章及其所有额外的(项目相关的)字段,而不更改基本的CMS库(但能够声明新的映射等)?

1 个答案:

答案 0 :(得分:0)

您可以使用项目的特定字段创建Article的子类:

class SpecialArticleForThisProject: Article {
  public DateTime SomeDate {get;set;}
}

使用three inheritance mapping strategies之一映射SpecialArticleForThisProject

基本CMS库不需要任何更改。