当前位置:主页   - 电脑 - 网站开发 - ASP.Net
NHibernate之旅(8):巧用组件之依赖对象
来源:网络   作者:   更新时间:2012-08-20
收藏此页】    【字号    】    【打印】    【关闭

  本节内容

  引入

  方案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>元素把子对象的一些属性映射为父类对应的表的一些字段。然后,组件可以定义它们自己的属性、组件或者集合。

  下面用两幅图显示组件和动态组件两个节点映射属性:

NHibernate之旅(8):巧用组件之依赖对象

  看看这些映射属性:

  access(默认property):NHibernate用来访问属性的策略

  class(默认通过反射得到的属性类型):组件(子)类的名字

  insert:被映射的字段是否出现在SQL的INSERT语句中

  name:属性名propertyName

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明