NHibernate之旅(8):巧用组件之依赖对象2010-07-23 cnblogs 李永京本节内容引入方案1:直接添加方案2:巧用组件实例分析结语引入通过前面7篇的学习,有点乏味了~~~这篇来学习一个技巧,大家一起想想如果我要在Customer类中实现一个Fullname属性(就是Firstname和Lastname的组合)该怎么做呢?方案1:直接添加“我知道!修改Customer类,添加一个Fullname属性!即Customer.Fullname!”“恩,完全正确......”“这就意味着在Customer类中把Firstname和Lastname两个属性重新修改组合为Fullname属性。这样的话,如果有其它的类(像Vendor、Shiper)使用了Firstname和Lastname两个属性,这就需要修改很多业务逻辑。那你的麻烦可就大了,还有什么方法吗?”“.........”方案2:巧用组件NHibernate中,提供了组件(Component)和动态组件来帮助我们完成这件事情。其实组件在NHibernate中为了不同目的被重复使用。这里我们使用它来依赖对象。映射文件中,<component>元素把子对象的一些属性映射为父类对应的表的一些字段。然后,组件可以定义它们自己的属性、组件或者集合。下面用两幅图显示组件和动态组件两个节点映射属性: