NHibernate使用入门

NHibernate使用入门
环境:
VS2008 SP1,NHibernate 2.1 Beta2
1.新建Web工程WebApplication1
2.在Default.aspx页加入按钮Button1
3.按钮click书写如下代码:
     //通过配置文件建立 Nhibernate 环境,其中当前目录下的文件hibernate.cfg.xml为配置文件
            Configuration cfg = new Configuration();
            cfg.Configure(Server.MapPath("~")+"hibernate.cfg.xml");
            ISessionFactory _SessionFactory = cfg.BuildSessionFactory();//建立Session工厂
            ISession session = _SessionFactory.OpenSession();//打开Session
    
     //Product为领域对象
            Product p = new Product();
            p.Name = "Name";
            p.Category = "Category";

            //持久化领域对象
            session.SaveOrUpdate(p);
            session.Flush();

            //Session关闭
            session.Close();
            session.Dispose();
            session = null;

4.建立领域对象文件Product.cs:
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;

 namespace WebApplication1
 {
     public class Product
     {
  public virtual Int32 ID{get;set;}

         public virtual String Name{get;set;}
 
  public virtual String Category{get;set;}
       
     }
 }
5.编写领域对象映射文件
 <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
   <class name="WebApplication1.Product, WebApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" table="Product" xmlns="urn:nhibernate-mapping-2.2">
     <id name="ID" type="Int32" unsaved-value="0" column="ID">
       <generator class="identity" />
     </id>
     <property name="Name" type="String">
       <column name="Name" length="50" not-null="true"/>
     </property>
     <property name="Category" type="String">
       <column name="Category" length="50"  not-null="true"/>
     </property>
   </class>
 </hibernate-mapping>
6.编写配置文件hibernate.cfg.xml
 <?xml version="1.0" encoding="utf-8" ?>
 <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
   <session-factory>
     <!-- properties -->
     <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
     <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
     <property name="connection.connection_string">Data Source=127.0.0.1;Database=OA;UID=pc;pwd=1</property>
     <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
    
     <property name="show_sql">true </property>   
     <property name="use_outer_join">true</property>
     <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
    
     <!-- 代理工厂,可以试用Castle,也可以试用LinFu -->
     <!-- <property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>-->
     <property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
    
     <!-- mapping files 领域对象映射文件所在程序集 -->
     <mapping assembly="WebApplication1"/>
   </session-factory>
 </hibernate-configuration>
7.直接运行项目并点击 Button1.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值