nhibernate入门系列 NHB的MAP文件使用

原创 2007年09月12日 09:35:00
MAP文件,可以充当一个数据库的描述,例如数据库的基本关系,类型的定义,一般情况下,当给出了MAP文件,您完全可以根据它生成对应的数据库.

using NHibernate;
using NHibernate.Cfg;
using NHibernate.Dialect;
using NHibernate.Tool.hbm2ddl;
using System;
using System.Reflection;

namespace FootBallGameClassLibrary.B2
{

    public class HibernateUtil
    {

        private static ISessionFactory sessions;
        private static Configuration cfg;
        private static Dialect dialect;

        private HibernateUtil()
        {
        }

        public static ISession OpenSession()
        {
            if (sessions == null)
            {
                //创建Session工厂
                BuildSessionFactory();
            }
            return sessions.OpenSession();
        }

        private static void BuildSessionFactory()
        {
            ExportSchema(new string[] {"C注册用户.hbm.XML" ,
"C代理用户.hbm.XML" , "C管理人员.hbm.XML" ,
"C通告信息.hbm.XML" , } , false);

            //上面的程序是,第二个参数,如果是TRUE就表明要从MAP文件中提取信息并建立数据库
        }

        private static void ExportSchema(string[] files, bool exportSchema)
        {
            cfg = new Configuration();
            foreach (string file in files)
            {
                cfg.AddResource("你的程序集.", file, Assembly.Load("你的程序集"));
            }
            dialect = Dialect.GetDialect();
            if (exportSchema) new SchemaExport(cfg).Create(true, true);
            // 这句就是从,MAP文件中建立数据库 如果参数为TRUE就建立数据库.

            sessions = cfg.BuildSessionFactory();
        }

        public void DropSchema()
        {
            new SchemaExport(cfg).Drop(true, true);
            //这个就不用我说了吧,大家一看就明白,我只是在这儿给大家表记一下
        }
    }
}
 

NHibernate从入门到精通系列(6)——基本映射

内容摘要   映射定义概括   基本映射常用标签   NHibernate的类型     一、映射定义概括   1.1 映射定义(Mapping declarati...

NHibernate从入门到精通系列(9)——一对多关联映射

内容摘要     单向关联映射     双向关联映射     一、单向关联映射   1.1 单向关联映射的描述   让我们回顾一下之前讲的《多对一关联映射》,如图1...

NHibernate从入门到精通系列(10)——多对多关联映射

内容摘要     单向多对多关联映射     双向多对多关联映射     一、单向多对多关联映射   1.1 多对多关联映射描述   众所周知,持久化类的有三种对应...

NHibernate从入门到精通系列(4)——持久对象的生命周期(上)

内容摘要     持久对象的状态的概念     持久对象的状态Demo     一、持久对象的状态的概念     在NHibernate中有三种状态,对它的深入理解,才能...

NHibernate从入门到精通系列(6)——基本映射

内容摘要   映射定义概括   基本映射常用标签   NHibernate的类型     一、映射定义概括   1.1 映射定义(Mapping declarati...

NHibernate使用入门(十一)

一对多关联映射有单向和双向之分,单向表示在一边维护他们的关系,双向表示在两边都要维护关系。首先看下单向一对多关联映射。Customer.hbm.xml映射文件 ...
  • WuLex
  • WuLex
  • 2016年09月03日 10:56
  • 359

NHibernate使用入门(九)

多对一单向映射:多对一的映射关系是在多的一端进行维护的,一对多关系映射则由一端来维护这种关系。Customer.cs类和Customer.hbm.xml实体映射文件 [Serializable] ...
  • WuLex
  • WuLex
  • 2016年09月02日 13:53
  • 356

NHibernate使用入门(十)

多对一双向映射
  • WuLex
  • WuLex
  • 2016年09月02日 14:18
  • 341

NHibernate使用入门(三)

全文检索–查询数据NHibernate.config配置文件
  • WuLex
  • WuLex
  • 2016年08月31日 14:39
  • 570

NHibernate使用入门(五)

项目结构如图:Model类库如下Customer.cs类和Customer.hbm.xml实体映射文件[Serializable] public class Customer { ...
  • WuLex
  • WuLex
  • 2016年09月01日 14:21
  • 746
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nhibernate入门系列 NHB的MAP文件使用
举报原因:
原因补充:

(最多只允许输入30个字)