接上一篇文章 使用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
原文地址:https://www.cnblogs.com/fzxiaoyi/p/8443587.html