FluentNHibernate初探[2]

一.写在前面

上一节已经将如何把FluentNHibernate引入到工程中讲过了,这一节我们来看一看如何通过FluentNHibernate来连接到数据库.

 

二.创建NHibernateHelper类

需要连接到数据库的配置将会被封装在这个类中.在配置过程中将会应用到lambda表达式.

本篇将根据Fluent-nhibernate的官方文档,对连接到数据库的配置进行讲解.文档地址:https://github.com/jagregory/fluent-nhibernate/wiki/Fluent-configuration

 

可以通过Fluent NHibernate提供的API在程序中全部使用代码,来完成所有的Hibernate配置.这个API被分成了五个主要的方法,其中三个方法是一定要使用的.

Fluently.Configure()
  .Database(/* your database settings */)
  .Mappings(/* your mappings */)
  .ExposeConfiguration(/* alter Configuration */) // optional
  .BuildSessionFactory();

我们可以通过多种方式混合使用这些方法来创建应用

    • Fluently.Configure 开始配置进程,
    • DataBase是我们确认数据库配置的地方,使用的是database configuration api.
    • Mappings是我们提供我们正在使用的映射.
    • ExposeCOnfigration是可选择的,但它可以更改行Configuration对象.
    • BuildSessionFactory是最后一个被调用的,它会根据我们的配置创建NHibernate SessionFactory的实例.

下面是自己用到的NHibernateHelper的脚本:

 1 using FluentNHibernate.Cfg;
 2 using FluentNHibernate.Cfg.Db;
 3 using NHibernate;
 4 
 5 namespace ARPGPhotonServer.DB
 6 {
 7     internal class NHibernateHelper
 8     {
 9         public static readonly NHibernateHelper Instance = new NHibernateHelper();
10         private ISessionFactory _sessionFactory;
11 
12         private NHibernateHelper()
13         {
14             InitSessionFactory();
15         }
16 
17         public ISession OpenSession()
18         {
19             return _sessionFactory.OpenSession();
20         }
21 
22         private void InitSessionFactory()
23         {
24             _sessionFactory =
25                 Fluently.Configure()
26                     .Database(
27                         MySQLConfiguration.Standard.ConnectionString(
28                             c => c.Server("localhost").Database("arpgserver").Username("root").Password("1234")))
29                     .Mappings(m => m.FluentMappings.AddFromAssemblyOf<ArpgApplication>())
30                     .BuildSessionFactory();
31         }
32     }
33 }

 

转载于:https://www.cnblogs.com/WongSiuming/p/4958934.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值