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