接上一篇文章 使用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();
}
}
}