是否可以配置流畅的nhibernate来基于某些模型类的流畅映射创建db模型,同时在一个项目中手动(sql)创建db表和映射到它们的模型类?
我是nhibernate的新手。
我开始创建模型类并使用流畅映射来创建数据库模式。 然后我想添加一些假设db是手动创建的日志框架。
我使用NHibernateMappingGenerator生成模型类和映射类。
编译并运行我的项目后,日志记录表已从db中删除。
此致 塞巴斯蒂安
答案 0 :(得分:0)
此代码将在实例化时为您创建表:
public class NHibernateSessionFactory
{
private static ISessionFactory _sessionFactory;
private static ISessionFactory SessionFactory
{
get
{
if (_sessionFactory == null)
{
InitializeNHibernateSessionFactory();
}
return _sessionFactory;
}
}
private static void InitializeNHibernateSessionFactory()
{
_sessionFactory =
Fluently.Configure()
.Database(MySQLConfiguration.Standard
.ConnectionString(ConfigurationManager.ConnectionStrings["MySQL"].ConnectionString))
.ShowSql())
.Mappings(m => m.FluentMappings
.AddFromAssemblyOf<OneOfMyMappedClassesMap>()))
.ExposeConfiguration(cfg => new SchemaExport(cfg).Create(true, true))
.BuildSessionFactory();
}
}
负责根据映射构建数据库的行是ExposeConfiguration
。如果您在控制台应用程序中使用此代码,ShowSql
选项将打印出所有生成的SQL代码。