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

2010年10月26日

摘要: 关联查询引入在NHibernate中提供了三种查询方式给我们选择:NHibernate查询语言(HQL,NHibernate Query Language)、条件查询(Criteria API,Query By Example(QBE)是Criteria API的一种特殊情况)、原生SQL(Literal SQL,T-SQL、PL/SQL)。这一节分别使用这三种方式来关联查询。首先看看上一篇我们为... 阅读全文

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

摘要: 引入通过前几篇文章的介绍,基本上了解了NHibernate,但是在NHibernate中映射关系是NHibernate中的亮点,也是最难掌握的技术。从这篇开始学习这些东西,我将图文结合来说明这里奥秘的知识。前几篇,我们的例子只使用了一个简单的Customer对象。但是在客户/订单/产品的经典组合中,他们的关系非常复杂?让我们先回顾在第二篇中建立的数据模型。在图上,我已经清晰的标注了表之间的关系,首... 阅读全文

posted @ 2010-10-26 20:13 EVON168 阅读(401) 评论(1) 推荐(1) 编辑

摘要: 引入通过前面7篇的学习,有点乏味了~~~这篇来学习一个技巧,大家一起想想如果我要在Customer类中实现一个Fullname属性(就是Firstname和Lastname的组合)该怎么做呢?方案1:直接添加“我知道!修改Customer类,添加一个Fullname属性!即Customer.Fullname!”“恩,完全正确......”“... 阅读全文

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

摘要: 什么是并发控制?当许多人试图同时修改数据库中的数据时,必须实现一个控制系统,使一个人所做的修改不会对他人所做的修改产生负面影响。这称为并发控制。简单的理解就是2个或多个用者同时编辑相同的数据。这里的用者可能是:实际用户、不同服务、不同的代码段(使用多线程),及其在断开式和连接式情况下可能发生的情况。并发控制理论根据建立并发控制的方法而分为两类:悲观并发控制(Pessimistic Concurre... 阅读全文

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

摘要: 事务概述1.NHibernate中的事务(Transactions)简单描述:要求ISession使用事务;做一些操作;提交或者回滚事务。写成代码就像这样:实际上在NHibernate使用事务要使用using强制资源清理和异常机制,一般像这样:2.什么时候使用事务?回答是:在任何时候都要使用事务,即使是在读取、查询数据的时候,为什么呢?因为你不清楚数据库什么时候操作失败,如何恢复原来数据。而NHi... 阅读全文

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

摘要: 操作数据概述我们常常所说的一个工作单元,通常是执行1个或多个操作,对这些操作要么提交要么放弃/回滚。想想使用LINQ to SQL,一切的东西都在内存中操作,只有调用了DataContext.SubmitChanges()方法才把这些改变的数据提交到数据库中,LINQ to SQL那么提交要么回滚。我们使用NHibernate也一样,如果只查询数据,不改变它的值,就不需要提交(或者回滚)到数据库。... 阅读全文

posted @ 2010-10-26 19:59 EVON168 阅读(266) 评论(0) 推荐(0) 编辑

摘要: 上一节,我们介绍了NHibernate查询语言的一种:NHibernate查询语言(HQL,NHibernate Query Language),这一节介绍一下条件查询(Criteria API)。NHibernate中的查询方法在NHibernate中提供了三种查询方式给我们选择:NHibernate查询语言(HQL,NHibernate Query Language)、条件查询(Criteri... 阅读全文

posted @ 2010-10-26 19:57 EVON168 阅读(393) 评论(0) 推荐(0) 编辑

摘要: 上一节,我们初步搭建了一个NHibernate程序,完成了映射Customer表并读取数据功能,这一节和下一节我们初步探讨一下在NHibernate中的查询方法。我这之前还是先回忆一下上一节完成的东西,其中一张图很多人回复说非常经典,简单明了!还是看着图。总结一下上一节三个重要的事情:建立数据库表-----编写持久化类-----编写映射文件,然后配置使用了。NHibernate中的查询方法在NHi... 阅读全文

posted @ 2010-10-26 19:56 EVON168 阅读(353) 评论(0) 推荐(0) 编辑

摘要: 我们亲自动手,来一步一步搭建一个NHibernate程序来,我以一个实际场景电子交易程序来模拟,客户/订单/产品的经典组合。由于是第一次使用NHibernate,所以我们的目的是映射一张表并完成使用NHibernate来读取数据,下面的一幅图片给了我们第一印象。我们按照基本开发软件思想的流程一步一步完成。我使用的开发环境:Microsoft Visual Studio 2008 SP1、SQL S... 阅读全文

posted @ 2010-10-26 19:55 EVON168 阅读(328) 评论(0) 推荐(0) 编辑

摘要: NHibernate是什么NHibernate 是一个面向.NET 环境的对象/关系数据库映射工具。对象关系映射(O/R Mapping,Object Relational Mapping)表示一种技术,用来把对象模型表示的对象映射到基于SQL 的关系模型数据结构中去。NHibernate不仅仅管理.NET 类到数据库表的映射(包括.NET 数据类型到SQL 数据类型的映射),还提供数据查询和获取... 阅读全文

posted @ 2010-10-26 19:53 EVON168 阅读(178) 评论(0) 推荐(0) 编辑