在一个项目中首先使用流利的NHibernate模型和数据库
本文关键字:NHibernate 数据库 模型 一个 项目 | 更新日期: 2023-09-27 17:53:11
是否可以配置fluent nhibernate来创建基于fluent映射的一些模型类的db模型,同时手动(sql)创建db表和一个模型类映射在一个项目上?
我是新手。
我开始创建一个模型类,并使用流畅映射创建数据库模式。然后我想添加一些日志框架,假设db是手动创建的。
我使用NHibernateMappingGenerator生成模型类和映射类。
在我编译并运行我的项目后,日志表从数据库中删除了。
问候,塞巴斯蒂安。
以下代码将在实例化时为您创建表:
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();
}
}
负责基于映射构建DB的行是ExposeConfiguration
。如果在控制台应用程序中使用此代码,ShowSql
选项将打印所有生成的SQL代码。