【发布时间】:2023-03-03 19:16:01
【问题描述】:
我有一个使用 Fluent Nhibernate 创建数据库的应用程序。到目前为止,我每次都在重新创建数据库模式。执行此操作的代码是这样的:
public NhibernateSessionFactory(IPersistenceConfigurer config)
{
_sessionFactory = Fluently.Configure().
Database(config).
Mappings(m => m.FluentMappings.AddFromAssemblyOf<MappingsPersistenceModel>()).
ExposeConfiguration(BuildSchema).
BuildSessionFactory();
}
private static void BuildSchema(Configuration config)
{
// if (DbExists(config))
// return;
new SchemaExport(config).Create(false, true);
}
注意“if (DbExists(config))”。这就是我想做的。只有当它实际上不存在时,我才想创建它。在下一步中 - 我想更新
如果它不是最新的,它将被创建。
我如何实现这一目标?我期待config.DatabaseExists(),但我看不到这样的东西。我看到了一些 hacky 解决方案的可能性,但是典型的推荐处理方法是什么?
【问题讨论】:
标签: .net database nhibernate c#-4.0 fluent-nhibernate