- 学习目的:
通过进一步学习Nhibernate基础知识,掌握用Nhiberate实现多对多的业务逻辑
- 开发环境+必要准备
开发环境: windows 2003,Visual studio .Net 2005,Sql server 2005 developer edition
前期准备: 学习上两篇单表操作和many-to-one篇
3.对上篇文章的部分解释
1)bag节点:用于定义System.Collection.IList类型的集合元素。
|
属性 |
用法 |
举例 |
|
name |
映射的属性(必须) |
name=”SalaryList” |
|
table |
映射的数据表(可选) | table=”Salary” |
| lazy | 延迟加载(可选) | Lazy=true|false |
| cascade | 指示级联操作方式(可选) | Cascade=all |
| inverse | 关联由谁负责维护 | Inverse=”true” |
当lazy=”true”,父类初始化的时候不会自动加载子类集合
Cascade为级联操作方式,包括:
| 属性 | 用法说明 |
| none | 默认值,不进行级联操作 |
| save-update | save和update级联 |
| delete | 删除级联 |
| delete-orphan | 删除不相关的父对象的子对象 |
| all | save/update/delete级联 |
| all-delete-orphan | all+delete-arphan |
4.多对多业务模型
还是用户系统,1个用户职员隶属于多个部门,同时1个部门有多个不同的职员
用户和部门之间的数据关系图为:
5. 实现步骤:
1)User.cs
2)User.hbm.xml
files:/Files/jillzhang/simple3.rar