博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2010年10月26日

摘要: 引入我其实都是一直先编写持久化类和映射文件,然后使用SchemaExport工具生成数据库架构。这样的方式就是领域驱动设计/开发(DDD,Domain Driven Design/Development)。我的理解是系统的设计应该基于对象模型,主要考虑对象的设计和逻辑上,然后按照对象模型建立数据库关系模型,这才是现在面向对象开发的步骤,并不是上一篇先设计数据库然后再设计对象。用一幅图可以形象的说明... 阅读全文

posted @ 2010-10-26 20:33 EVON168 阅读(370) 评论(0) 推荐(0) 编辑

摘要: 引入上篇我们初步探索了SchemaExport工具使用,知道如何使用SchemaExport工具和SchemaUpdate工具利用NHibernate持久化类和映射文件删除、创建、更新数据库架构,这篇具体分析如何为表字段增加一些约束?如何生成存储过程?如何生成视图?使用SchemaExport工具帮你搞定。实例分析1.表及其约束众所周知,SchemaExport工具根据映射文件来生成数据库架构,在... 阅读全文

posted @ 2010-10-26 20:33 EVON168 阅读(292) 评论(0) 推荐(0) 编辑

摘要: 引入我们花了大量的篇幅介绍了相关NHibernate的知识,一直都是带着大家手动编写代码,首先创建数据库架构,然后编写持久化类和映射文件,最后编写数据操作方法,测试方法。这是典型的数据库驱动开发(DbDD,Database-Driven Developent)技术,但是自己不是这样做的,我先编写持久化类和映射文件,然后偷偷的使用SchemaExport工具把数据库生成了,按上面的步骤写文章的,关于... 阅读全文

posted @ 2010-10-26 20:32 EVON168 阅读(281) 评论(0) 推荐(0) 编辑

摘要: 引入上两篇,介绍使用MyGeneration提供的模板创建存储过程和删除对象、创建对象、更新对象整个详细过程,这篇介绍如何利用<sql-query>做更多的事,在程序开发中,我们不仅仅只利用存储过程增删查改对象,我们还可以想执行任意的存储过程,这不局限于某个对象,某个CURD操作,怎么做呢?注意:本篇并非官方权威的资料,所以敬请参考。如果你还没有学习NHibernate,请快速链接到N... 阅读全文

posted @ 2010-10-26 20:31 EVON168 阅读(285) 评论(0) 推荐(0) 编辑

摘要: 引入上一篇,怎么使用MyGeneration提供的模板创建存储过程和删除对象存储过程的使用,这篇接下来介绍在NHibernate中如何使用存储过程创建对象、更新对象整个详细过程,这些全是在实际运用中积累的经验,涉及使用的错误信息,如何修改存储过程,并且比较没有使用存储过程的不同点,并非官方比较权威的资料,所以敬请参考,这篇继续,如果你还没有来及看上一篇,那赶紧去看看吧。实例分析2.创建对象Step... 阅读全文

posted @ 2010-10-26 20:29 EVON168 阅读(428) 评论(0) 推荐(0) 编辑

摘要: 引入上一篇,我们介绍了视图,征集大家的意见,我接下来可能用三篇篇幅来介绍在NHibernate中如何使用存储过程的整个详细过程,这些全是在实际运用中积累的经验,涉及刚刚使用的错误信息,如何修改存储过程,并且比较没有使用存储过程的不同点,并非官方比较权威的资料,所以敬请参考。使用MyGeneration生成存储过程由于写存储过程不是这节的重点,我们来利用MyGeneration代码生成工具来利用为C... 阅读全文

posted @ 2010-10-26 20:28 EVON168 阅读(681) 评论(0) 推荐(0) 编辑

摘要: 引入在数据库操作中,我们除了对表操作,还有视图、存储过程等操作,这一篇和下篇来学习这些内容。这篇我们来学习如何在NHibernate中使用视图。首先,我们在数据库中建立一个名为viewCustomer视图,选中CustomerId、Firstname、Lastname、OrderId、OrderDate项。下面我们依次为这个视图编写持久化类和映射吧。1.持久化类同持久化数据库中的表类似,我们需要对... 阅读全文

posted @ 2010-10-26 20:26 EVON168 阅读(900) 评论(0) 推荐(0) 编辑

摘要: 引入通过上一篇的介绍,我们知道了NHibernate中默认的加载机制——延迟加载。其本质就是使用GoF23中代理模式实现,这节我们简单分析NHibernate另一种加载机制——立即加载。我用一张图片形象的展现立即加载机制。立即加载顾名思义,就是立刻加载相关联对象集合,与延迟加载相反。我们可以使用三种方法来立即加载,分别是:可选的lazy属性、NHib... 阅读全文

posted @ 2010-10-26 20:24 EVON168 阅读(477) 评论(0) 推荐(0) 编辑

摘要: 多对多关系引入让我们再次回顾在第二篇中建立的数据模型:在图上,我已经清晰的标注了表之间的关系,上两篇分析Customer和Order之间的“外键关系”或者称作“父子关系”、“一对多关系”和关联查询,这一篇以Order为中心,分析Order和Product之间的关系,直接看下面一幅图的两张表:上面两张表关系表达的意思是:Orde... 阅读全文

posted @ 2010-10-26 20:22 EVON168 阅读(219) 评论(0) 推荐(0) 编辑

摘要: 引入通过前面文章的分析,我们知道了如何使用NHibernate,比如CRUD操作、事务、一对多、多对多映射等问题,这篇我们初步探索NHibernate中的加载机制。在讨论之前,我们看看我们使用的数据模型,回顾一下第二篇建立的数据模型。Customer与Orders是一对多关系,Order与Product是多对多关系。这一篇还是使用这个模型,有关具体配置和映射参考本系列的文章。延迟加载(Lazy L... 阅读全文

posted @ 2010-10-26 20:22 EVON168 阅读(816) 评论(0) 推荐(0) 编辑