流利的nhibrenate Exportchema没有连接字符串
-
03-10-2019 - |
题
我想生成一个数据库脚本,而无需声明实际的数据库连接字符串。
为此,我现在使用nhibernate Exportschema碱基上的NHIBERNATE配置,以这种方式(在我的IsessionFactory Creation方法)中生成的NHIBERNATE碱基:
FluentConfiguration configuration = Fluently.Configure();
//Mapping conf ...
configuration.Database(fluentDatabaseProvider);
this.nhibernateConfiguration = configuration.BuildConfiguration();
returnSF = configuration.BuildSessionFactory();
//Later
new SchemaExport(this.nhibernateConfiguration)
.SetOutputFile(filePath)
.Execute(false, false, false);
Fluentdatabaseprovider是一种流利的ipersistenceconfigurer,需要为数据库创建获得适当的SQL方言。
使用现有数据库创建工厂时,一切正常。但是,我要做的是在所选数据库引擎上创建一个NHIBERNATE配置对象,而没有场景后面的真实数据库……我没有设法这样做。
如果有人有一些想法。
解决方案
尝试使用:
.Create(false, false);
内置
.Execute(false, false, false);
请勿将ConnectionString属性添加到iPersistenceConfigurer(fluentdatabaseprovider)中。
其他提示
这就是我使用的。我的错误是调用试图连接到数据库的BuildSessionFactory:
var config = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008)
.Mappings(m =>
m.FluentMappings.AddFromAssemblyOf<SessionManager>());
new SchemaExport(config.BuildConfiguration())
.SetOutputFile(filedestination)
.Create(false, false);
不隶属于 StackOverflow