一个简单的NHibernate例子

一、首先,在数据库中创建一个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);
            }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值