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

posted @ 2011-11-09 15:51  cuiking  阅读(414)  评论(0编辑  收藏  举报