nHibernate的代码优先方法

时间:2012-10-09 22:32:26

标签: nhibernate orm code-first

我已经通过实体框架工作流程几次,并喜欢使用最新版本中提供的代码优先方法。我正面临一个项目,有一些考虑因素让我倾向于nHibernate,并想知道这个工作流程是如何不同的。

我认为设计的难点在于定义基本结构和关系的Pocos集合。数据库模式已完成,Pocos已通过MS的Data Tools'逆向工程'实用程序生成。

我和NH实体之间有什么样的繁重工作准备好我的.net 4.5 / mvc4应用程序?不应该有任何关于Pocos他们所有人的'EF特定',即使他们为NH开发人员所做的一切都是给予结构的指导,这应该是一个巨大的优势,不应该吗?

THX

1 个答案:

答案 0 :(得分:0)

使用NHibernate和现有实体类的代码优先方法

使用FluentNHibernate进行映射将是一个开始

var sessionfactory = Fluently.Configure()
    .DataBase(FluentNhibernate.Cfg.Db.xxxConfiguration.Standard.ConnectionString(c => c.Database("emptyTestDatabase")))
    .Mappings(m => m.Automappings.Add(AutoMap.AssemblyOf<SomeEntity>().Where(t => t.Namespace.Startswith(typeof(SomeEntity).Namespace)))
    .ExposeConfiguration(cfg => new SchemaExport(cfg).Create(true, true))
    .BuildSessionFactory();

using (var session = sessionfactory.OpenSession())
{
    // do something with db
}