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