1.学习目标
   通过学习nhibernate基础知识,了解nhibernate对组合属性的用法。
2.开发环境和必要准备
   开发环境为:windows 2003,Visual studio .Net 2005,Sql server 2005 developer edition
  必要准备:学习前六篇nhibernate学习系列nhibernate性能之二级缓存篇
3.分析
   在关系数据库中,为了减少冗余,每个字段会被设计的更加独立。比如一个人的名字,包括名(FirstName),姓(LastName),通常在数据库中要设计为两个字段,这样便于检索所有姓张的用户,而在对象中,一个人的姓名往往是一个组合元素,nhibernate对组合属性也有很好的支持
4.实现方法
   用于组织姓名的对象UserName  
nhibernate学习之简单组合的映射public class UserName
    }

用户对象:CompositeUser.cs
nhibernate学习之简单组合的映射 public class CompositeUser
        }
nhibernate学习之简单组合的映射<?xml version="1.0" encoding="utf-8" ?>
nhibernate学习之简单组合的映射
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
nhibernate学习之简单组合的映射    
<class name="NhibernateSample1.CompositeUser,NhibernateSample1" table="CompostName" lazy="false">
nhibernate学习之简单组合的映射        
<id name="Uid" column="Uid" unsaved-value="0">
nhibernate学习之简单组合的映射            
<generator class="native" />
nhibernate学习之简单组合的映射        
</id>
nhibernate学习之简单组合的映射        
<component name="Name" class="NhibernateSample1.UserName,NhibernateSample1">
nhibernate学习之简单组合的映射            
<property name="FirstName" column="FirstName"></property>
nhibernate学习之简单组合的映射            
<property name="LastName" column="LastName"></property>
nhibernate学习之简单组合的映射        
</component>
nhibernate学习之简单组合的映射    
</class>
nhibernate学习之简单组合的映射
</hibernate-mapping>
注意,compenent就是映射组合属性的节点,它的子节点property代表其组合属性
CompositeUser数据表的表结构为
nhibernate学习之简单组合的映射
新增一个CompositeUser对象
nhibernate学习之简单组合的映射 public int AddCompositeUser(CompositeUser u)
        }
测试代码
nhibernate学习之简单组合的映射  [TestMethod]
nhibernate学习之简单组合的映射        
public void Test1()
        }
nhibernate真的是非常强大的一个框架,下篇将学习复杂组合的使用方法。今天先到这。睡了 
用户对象的映射文件.CompositeUser.hbm.xml

相关文章: