zoukankan      html  css  js  c++  java
  • Fluent NHibernate的配置

    Fluent NHibernate 提供object To XML的支持,让我们可以直接在代码中编写NHibernate的Cfg配置文件。

    Fluent NHibernate提供了一个方法让你不再需要去写NHibernate的标准映射文件(.hbm.xml),而是可以把你的映射文件都使用C#来写。这样做,方便了我们的代码重构,提供了代码的易读性,并精简了项目代码。

     配置文件编写过程,总共分为4步:

    1, Fluently.Configure()   生成Cfg对象。

    2,.DataBase(x=>xxxxx) 生成数据库对象。

    3,.Mapping(x=>xxxx)    匹配Hbm描述。

    4,.BuildingSessionFactory 创建状态工厂。

    我这里对应Mysql配置文件提取出一个通用泛型SessionFactory工厂。

       public class NHibernateHelper
        {
            private ISessionFactory sessionFactory;

            public NHibernateHelper()
            {
                if (sessionFactory == null)
                {
                    sessionFactory = CreateSessionFactory();
                }
            }

            public ISessionFactory CreateSessionFactory()
            {
                return Fluently.Configure()
                    .Database(
                    FluentNHibernate.Cfg.Db.MsSqlConfiguration.MsSql2005
                    .ConnectionString(s => s.Server(".")
                    .Database("NerdDinner")
                    .TrustedConnection()
                    ))
                    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Dinner>())
                    .BuildSessionFactory();
            }

            public ISession GetSession()
            {
                ISession session = sessionFactory.OpenSession();
                return session;
            }
        }

    参考

    http://www.cnblogs.com/n-pei/archive/2011/01/04/1925648.html

    http://www.cnblogs.com/inday/category/203168.html

  • 相关阅读:
    递增三元子序列
    Linux sed 命令
    linux shell中$0,$?,$!等的特殊用法
    ansible-playbook使用
    Linux下通过crontab命令来实现定时任务
    iperf网络性能测试
    OpenStack接口测试工具rally/tempest环境搭建及使用
    Jenkins配置slaver节点
    微信小程序跳转外部链接(h5页面)以及数据交互
    Echarts 系列之折线图、柱状图相关配置
  • 原文地址:https://www.cnblogs.com/cuiking/p/2242979.html
Copyright © 2011-2022 走看看