(水水)Eddie's blog

---------勿在浮沙筑高台
文章 - 95,收藏 - , 评论 - 185, trackbacks - 2

今天第一次学习使用NHibernate,遇到了很多问题。

  1. 得把HashCodeProvider.dll放到bin目录里
  2. 在web.config配置文件里的<configuration>标签下面添加:
       <configSections>
             <section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
     </configSections>
    这个用来处理nhibernate配置节
  3. 参数为程序集名称
             Configuration cfg = new Configuration();
             cfg.AddAssembly("NHibernate.Demo.QuickStart");
  4. 类的映射文件名称为 类名.hbm.xml,并且把这个文件的生成操作设置为 嵌入的资源
  5. 映射文件的class标签的name属性,告诉nhibernate去哪个程序集里面load哪个类。
  6. 映射文件的id标签映射数据库表里面的主键。

附类文件和类的映射文件:

类文件(User.cs):
using System;

namespace NHibernate.Demo.QuickStart
{
 /// <summary>
 /// User 的摘要说明。
 /// </summary>
 public class User
 {
  private string id;
  private string userName;
  private string password;
  private string emailAddress;
  private DateTime lastLogon;


  public User()
  {
  }

  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):

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
 <class name="NHibernate.Demo.QuickStart.User, NHibernate.Demo.QuickStart" 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>

最后感谢张老三的帮助。



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=132181


[点击此处收藏本文]  发表于2004年10月14日 8:57 PM




正在读取评论……

发表评论

大名
网址
验证码
评论