一、首先,在数据库中创建一个User表,包括以下字段:
LoginID String primary key,
UserName String ,
Password String,
EmailAddress String,
LastLogin DateTime
二、创建类文件:User.cs:
必须注意的是,封装字段时,必须使用virtual,不然会抛出异常
public class User
...{
private String id;
private String userName;
private String password;
private String emailAddress;
private DateTime lastLogin;

/**//// <summary>
/// logid
/// </summary>
public virtual String Id
...{
get ...{ return id; }
set ...{ id = value; }
}

/**//// <summary>
/// 用户名
/// </summary>
public virtual String UserName
...{
get ...{ return userName; }
set ...{ userName = value; }
}

/**//// <summary>
/// 密码
/// </summary>
public virtual String Password
...{
get ...{ return password; }
set ...{ password = value; }
}

/**//// <summary>
/// email
/// </summary>
public virtual String EmailAddress
...{
get ...{ return emailAddress; }
set ...{ emailAddress = value; }
}

/**//// <summary>
/// lastLogin
/// </summary>
public virtual DateTime LastLogin
...{
get ...{ return lastLogin; }
set ...{ lastLogin = value; }
}
}
三、接下来,当然要添加NHibernate.dll引用了
四、添加映射文件:User.hbm.xml
注意column与表中字段名的对应
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="NHibernate.Examples.QuickStart.User, NHibernate.Examples.QuickStart" table="users">
<id name="Id" column="LoginID" type="String" length="20" unsaved-value="">
<generator class="assigned" />
</id>
<property name="UserName" column="Name" type="String" length="40"/>
<property name="Password" column="Password" type="String" length="20"/>
<property name="EmailAddress" column="EmailAddress" type="String" length="40"/>
<property name="LastLogin" column="LastLogin" type="DateTime"/>
</class>
</hibernate-mapping>五、创建一个 Configuration object,
Configuration cfg = new Configuration();
cfg.AddAssembly("NHibernate.Examples.QuickStart");六:创建一个session object,它代表一个与后台数据库的连接
ISessionFactory factory = cfg.BuildSessionFactory()
ISession session = factory.OpenSession();
ITransaction transaction = session.BeginTransaction();七:接下来,你就可以进行查询,插入等操作了,举一个插入的例子:
User user = new User();
user.Id = "13";
user.UserName = "test";
user.Password = "test";
user.EmailAddress = "testyahoo.com.cn";
user.LastLogin = DateTime.Now;
try
...{
session.Save(user);
transaction.Commit();
}
catch (Exception ee)
...{
transaction.Rollback();
Console.WriteLine(ee.Message);
}
本文介绍如何使用NHibernate框架创建用户表,并实现增删改查等基本操作。包括定义User类、设置映射文件、配置SessionFactory及Session,以及通过Session进行数据的持久化。
246

被折叠的 条评论
为什么被折叠?



