本节内容 什么是并发控制? 悲观并发控制(Pessimistic Concurrency) 乐观并发控制(Optimistic Concurrency) NHibernate支持乐观并发控制 实例分析 结语 什么是并发控制? 当许多人试图同时修改数据库中的数据时,必须实现一个控制系统,使一个人所做的修改不会对他人所做的修改产生负面影响.这称为并发控制. 简单的理解就是2个或多个用者同时编辑相同的数据.这里的用者可能是:实际用户.不同服务.不同的代码段(使用多线程),及其在断开式和连接式情况下可能…
本节内容 事务概述 1.新建对象 [测试成功提交] [测试失败回滚] 2.删除对象 3.更新对象 4.保存更新对象 结语 上一篇我们介绍了NHibernate中的Insert, Update, Delete操作,这篇我们来看看NHibernate中的事务.你通过它可以提交或者回滚你的操作. 事务概述 1.NHibernate中的事务(Transactions) 简单描述:要求ISession使用事务:做一些操作:提交或者回滚事务. 写成代码就像这样: ITransaction tx = _ses…
本节内容 什么是并发控制? 悲观并发控制(Pessimistic Concurrency) 乐观并发控制(Optimistic Concurrency) NHibernate支持乐观并发控制 实例分析 结语 什么是并发控制? 当很多人试图同一时候改动数据库中的数据时,必须实现一个控制系统,使一个人所做的改动不会对他人所做的改动产生负面影响. 这称为并发控制. 简单的理解就是2个或多个用者同一时候编辑同样的数据. 这里的用者可能是:实际用户.不同服务.不同的代码段(使用多线程),及其在断开式和连接…
本节内容 引入 1.持久化类 2.映射文件 3.測试 结语 引入 在数据库操作中,我们除了对表操作,还有视图.存储过程等操作,这一篇和下篇来学习这些内容.这篇我们来学习怎样在NHibernate中使用视图.首先,我们在数据库中建立一个名为viewCustomer视图.选中CustomerId.Firstname.Lastname.OrderId.OrderDate项. 以下我们依次为这个视图编写持久化类和映射吧. 1.持久化类 同持久化数据库中的表类似,我们须要对视图持久化,定义视图中的每一个属…
NHibernate之旅系列文章导航 宣传语 NHibernate.NHibernate教程.NHibernate入门.NHibernate下载.NHibernate教程中文版.NHibernate实例.NHibernate2.0.NHibernate2.0教程.NHibernate之旅.NHibernate工具 我的NHibernate全部文章在http://www.cnblogs.com/lyj/category/129155.html 导游 NHibernate是把Java的Hiberna…
本节内容 引入 代码生成工具 结语 引入 我们花了大量的篇幅介绍了相关NHibernate的知识.一直都是带着大家手动编写代码,首先创建数据库架构.然后编写持久化类和映射文件,最后编写数据操作方法.測试方法. 这是典型的数据库驱动开发(DbDD,Database-Driven Developent)技术.可是自己不是这样做的,我先编写持久化类和映射文件,然后偷偷的使用SchemaExport工具把数据库生成了.按上面的步骤写文章的,关于SchemaExport工具就是下一篇的事情了,这篇说说利用…
本节内容 开始使用NHibernate 1.获取NHibernate 2.建立数据库表 3.创建C#类库项目 4.设计Domain 4-1.设计持久化类 4-2.编写映射文件 5.数据访问层 5-1.辅助类 5-2.编写操作 6.数据访问层的测试 6-1.配置NHibernate 6-2.测试 结语 作者注:2009-11-06已更新 开始使用NHibernate 我们亲自动手,一步一步搭建一个NHibernate程序来,我以一个实际场景电子交易程序来模拟,客户/订单/产品的经典组合.由于是第一…
NHibernate之旅(2):第一个NHibernate程序 本节内容 开始使用NHibernate 1.获取NHibernate 2.建立数据库表 3.创建C#类库项目 4.设计Domain 4-1.设计持久化类 4-2.编写映射文件 5.数据访问层 5-1.辅助类 5-2.编写操作 6.数据访问层的测试 6-1.配置NHibernate 6-2.测试 结语 开始使用NHibernate 我们亲自动手,一步一步搭建一个NHibernate程序来,我以一个实际场景电子交易程序来模拟,客户/订单…
NHibernate是.Net平台下一个成熟的,开源的对象关系映射器(ORM).本文来介绍第一次使用NHibernate的时候的配置. 1.下载NHibernate.Nhibernate官网最新版本为NH3.3.3,下载地址:http://nhforge.org/ 2.NHibernate压缩包解压后,将其中Required_Bins文件夹下的引用拷贝到你的项目根目录下.确保包含如下文件: 3.将NHibernate.dll添加引用到你所对应的项目中. 4.添加Mapping文件.该文件是一个将…
本节内容 引入 立即加载 实例分析 1.一对多关系实例 2.多对多关系实例 结语 引入 通过上一篇的介绍,我们知道了NHibernate中默认的加载机制——延迟加载.其本质就是使用GoF23中代理模式实现,这节我们简单分析NHibernate另一种加载机制——立即加载.我用一张图片形象的展现立即加载机制. 立即加载 顾名思义,就是立刻加载相关联对象集合,与延迟加载相反.我们可以使用三种方法来立即加载,分别是:可选的lazy属性.NHibernate提供的实用类.HQL抓取策略.下面依次用实例分析…