如何在Fluent Nhibernate中自动创建数据库架构? 我的配置是:
public static ISessionFactory CreateDatabase() {
switch (4) {
case 4: // Postgress
_sessionFactory = Fluently.Configure()
.Database(PostgreSQLConfiguration.PostgreSQL82.ConnectionString(ConnectionString))
.ExposeConfiguration(c => {
c.SetProperty("cache.use_second_level_cache", "false");
c.SetProperty("cache.use_query_cache", "false");
})
.ExposeConfiguration(SchemaMetadataUpdater.QuoteTableAndColumns)
.ExposeConfiguration(x => new SchemaUpdate(x).Execute(false, true))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Pessoa>())
.CurrentSessionContext<WebSessionContext>()
.BuildConfiguration()
.BuildSessionFactory();
break;
}
_sessionFactory.Dispose();
return _sessionFactory;
}
目前有一个使用NpgsqlCommand创建的方法。
答案 0 :(得分:3)
要使用NHibernate创建架构,请使用SchemaExport类:
Configuration cfg = ....;
new SchemaExport(cfg).Create(false, true);
NHibernate参考,20.1.2. Running the tool部分和前一部分中的更多细节。