


























本文并不是去详细的介绍如何使用NHibernate,而是通过一个简单的例子来演示基于NHibernate的三层结构应用程序开发过程。关于NHibernate的有关文档,DDL已经做了汉化,但是由于英文文档自身就不完善,所以汉化后也是不全。菩提树在一篇《NHibernate学习之路》随笔中谈到了学习NHibernate遇到的困难,也希望大家把自己在使用NHibernate中的经验和心得能够共享出来,与大家分享。另外我也是刚开始接触NHiernate,有错误之处还请大家指点。
第一步:准备数据表
在这里用一个最简单的例子,有一张关于的用户的表,有编号,姓名,密码,Email地址和最后一次的登录时间几个字段。
Create Table Users(
LogonID varchar(20) Primary key,
Name varchar(40),
Password varchar(20),
EmailAddress varchar(40) ,
LastLogon datetime
)
第二步:创建需要被持久化的类
在.NET中创建一个NHibernateWebDemo.Model的工程,添加User实体类。
//User.cs
using System;
namespace NHibernateWebDemo.Model


{
public class User

{
public User()

{ 
}
private string id;
private string userName;
private string password;
private string emailAddress;
private DateTime lastLogon;
public string Id 

{

get
{ return id; }

set
{ id = value; }
}
public string UserName 

{

get
{ return userName; }

set
{ userName = value; }
}
public string Password 

{

get
{ return password; }

set
{ password = value; }
}
public string EmailAddress 

{

get
{ return emailAddress; }

set
{ emailAddress = value; }
}
public DateTime LastLogon 

{

get
{ return lastLogon; }

set
{ lastLogon = value; }
}
}
}
第三步:创建持久化映射文件
该文件的命名为User.hbm.xml,并且与User.cs放在同一个目录里。设置该文件的生成操作属性为“嵌入的资源”,这一点要切记。另外,使用编号当作主键,由用户输入,所以在映射文件中用assigned。
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
<class name="NHibernateWebDemo.Model.User, NHibernateWebDemo.Model" table="users">
<id name="Id" column="LogonId" type="String" length="20"> 
<generator class="assigned" /> 
</id>
<property name="UserName" column= "Name" type="String" length="40"/> 
<property name="Password" type="String" length="20"/> 
<property name="EmailAddress" type="String" length="40"/>
<property name="LastLogon" type="DateTime"/>
</class>
</hibernate-mapping>
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。
转:基于NHibernate的三层结构应用程序开发初步