我正在使用下面的代碼創建與NHibernate Session Factory
。我想用相對路徑指定此路徑,以便當我的隊友和我合併分支時,我們不必修復連接字符串。我怎樣才能做到這一點?NHibernate的相對路徑連接字符串
private static void InitializeSessionFactory(bool deleteSchemaOnClosing = false, bool regenerateSchemaOnOpening = false)
{
_sessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008
.ConnectionString(
@"Data Source=.\SQLEXPRESS;AttachDbFilename=""C:\MyProject\MyProjectCore\Fluent NHibernate\CoreDatabase.mdf"";Integrated Security=True;User Instance=True")
.ShowSql()
)
.Mappings(m =>
m.FluentMappings
.AddFromAssemblyOf<User>())
.ExposeConfiguration(cfg => new SchemaExport(cfg)
.Create(deleteSchemaOnClosing,regenerateSchemaOnOpening))
.BuildSessionFactory();
}
我app.config
文件看起來像這樣:
<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="CoreDatabase.Properties.Settings.CoreDatabaseConnectionString"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\CoreDatabase.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
<add name="Fluent_NHibernate.Properties.Settings.CoreDatabaseConnectionString"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\CoreDatabase.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup></configuration>
謝謝你!
可以將路徑添加到.config文件並使用「{0}」,ConfigFile Key ..來獲取。您也可以在.config文件中使用{0}參數以動態方式讀取值,這種更改只會發生在1個位置,而不是每次需要更改值時都要重新編譯代碼 – MethodMan
Hi DJ KRAZE,你能不能爲我貶低它?我是一個完整的菜鳥。 – Kashif