У меня есть приложение, в котором я использую 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()
, но я не вижу ничего подобного. Я вижу некоторые возможности хакерского решения, но каков типичный рекомендуемый способ его решения?