我有以下nhibernate cfg文件:
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.SQLite20Driver</property>
<property name="connection.connection_string">Data Source=dbFile.db;Version=3</property>
<property name="dialect">NHibernate.Dialect.SQLiteDialect</property>
但是,这会在bin / Debug文件夹中创建并引用dbFile.db。我想知道是否有任何方法可以引用另一个文件夹,例如... / app / database / dbFile.db?
提前致谢
答案 0 :(得分:1)
您可以从c#代码设置连接字符串属性。您必须在调用Configure()方法之前执行此操作。
var configuration = new Configuration();
config.SetProperty(NHibernate.Cfg.Environment.ConnectionString, myCustomDbPath);
configuration.Configure();
希望有所帮助。
答案 1 :(得分:0)
也许你可以使用DataDirectory-Property从Exe-Path开始:
Data Source=|DataDirectory|../app/database/dbFile.db;Version=3
或
Data Source=jdbc:sqlite:../app/database/path.db;Version=3
编辑:经过一些谷歌搜索后,我发现这可能不起作用。如果不是我会使用striders解决方案在运行时设置属性。