1. 程式人生 > >2.創建NHibernateHelper幫助類,生成sessionFactory

2.創建NHibernateHelper幫助類,生成sessionFactory

collect datebase on() figure fluent app col 初始 username

接上一篇文章 使用FluentNHibemate 操作數據庫,添加映射到數據庫

http://www.cnblogs.com/fzxiaoyi/p/8443586.html

Model文件下再創建個新的類NHibernateHelper

編寫代碼如下:

using NHibernate;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MySQLDateBase.Model
{
    /// <summary>
    /// 這個幫助類是用來得到session,使用session來操作數據庫
    /// </summary>
    class NHibernateHelper
    {
        //單例模式  sessionFactory可以取得session,利用session可以去操作數據庫。
        private static ISessionFactory sessionFactory = null;
        private static string dateBase = "game"; //數據庫名稱
        private static string dateUserName = "root"; //數據庫用戶名
        private static string datePassWord = "root"; //數據庫密碼

        private static ISessionFactory SessionFactory
        {
            get
            {
                if (sessionFactory == null)
                    InitSessionFanctory();
                return sessionFactory;
            }
        }

        //初始化sessionFactory
        private static void InitSessionFanctory()
        {
            /*出現異常:
            “FluentNHibernate.Cfg.FluentConfigurationException”類型的未經處理的異常在 
            FluentNHibernate.dll 中發生

            解決方法:下載 mysql-connector-net-6.9.9.msi進行安裝,使用MySql.Data.dll連接
            http://dev.mysql.com/downloads/connector/net/    
            */
            
            sessionFactory = FluentNHibernate.Cfg.Fluently.Configure().Database(FluentNHibernate.Cfg.Db.MySQLConfiguration.Standard.ConnectionString
         (db => db.Server("localhost").Database(dateBase).Username(dateUserName).Password(datePassWord))).Mappings(x => x.FluentMappings.AddFromAssemblyOf<NHibernateHelper>()).BuildSessionFactory();
        }
        //用於獲取Session
        public static ISession OpenSession()
        {
            return SessionFactory.OpenSession();
        }
    }
}

  

2.創建NHibernateHelper幫助類,生成sessionFactory