|
|
|
nhibernate入门系列: many-to-many映射
|
| 多对多关系在数据库也是比较常见的,它通过一个中间表将两个主表关联起来。下面来看看多对多关联在nh的实现,示例是一个User和Group之间的多对多关联。先来看看User类的映射信息: 在多对多定义中,定义了中...
|
nhibernate入门系列 NHB的MAP文件使用
|
| MAP文件,可以充当一个数据库的描述,例如数据库的基本关系,类型的定义,一般情况下,当给出了MAP文件,您完全可以根据它生成对应的数据库.
using NHibernate;using NHibernate.Cfg;using NHibernate.Dialect;using N...
|
nhibernate源码分析之九: 事务处理
|
| 对数据库的操作是少不了事务处理的,事务能保整数据完整性和有效性。 在nh中,使用Transaction对象对.net的事务对象(实现了IDbTransaction接口的对象)进行了包装。在nh中,一个典型的事务处理是这样的(见ISession....
|
NHibernate源码分析之三(续):数据持久化
|
| 当持久化对象时,显然必须存在把记录的值赋值到对象属性和取得对象属性的值用于持久化操作,对于更新操作,还需要检查对象的值是否已发生变化,即是否为Dirty,这些操作都是由对象的持久化类来完成的。有关持久...
|
nhibernate源码分析之八: 解析HQL
|
| 本文将对HQL查询文本的解析过程进行分析,这个可以说是NH中比较复杂的一块了(个人认为),涉及到的类也比较多。建议阅读之前先深呼吸十下,看完之后脑袋成浆糊可不要找我哟。:-)在HQL数据加载一文中,我们有提到Q...
|
nhibernate源码分析之七: HQL数据加载
|
| NH中,HQL是一个十分强大的面向对象的查询语言,简单的说,就是不需要使用实际的表名和列名来查询数据,而改用类名和属性。有两种方式来执行HQL数据加载,一种是直接使用ISession的Find方法,另一种是使用IQuery...
|
nhibernate入门系列 值集合映射
|
| 在数据库的多对多关系中, 实现方法是通过一个额外的关联表将两个主表关联起来,关联表中只保存两个主表的主健,显然, 主表与关联表是一对多的关系. 这样两个主表就通过这个关联表构成了一个多对多的关系. 典型的例...
|
nhibernate入门系列: one-to-one映射
|
| nh中的one-to-one(一对一)映射有两种情况, 一种是主键(PrimaryKey)关联, 一种是外健(ForeignKey)关联. 在主键关联的情况下, 显然必须有一个主键是根据别一个主键而来的, nh通过一个特殊的方式来处理这种情...
|
nhibernate源码分析之六: Criteria数据加载
|
|
ICriteria是使用Expression进行数据加载的接口, 提供了设置表达式(Expression), 排序方式(Order), 分页记录等操作.它使用一种类似于SQL语句where表达表的方式来加载满足条件的数据.
下面以一个查询Usern...
|
nhibernate入门系列: 使用Criteria载入对象
|
|
nh会话提供一种使用表达式(就像SQL语句的where表达式)来载入数据的方法, 以取得满足条件的对象集合。
通过CreateCriteria方法, 可以取得一个ICriteria接口, 这个接口用于操作表达式和排序字段. 由Criter...
|
|
|
|
|