2011-07-02 134 views
4

我已閱讀後How to configure Fluent NHibernate with MySQL,但我相對較新的MySQL,我需要實際設置連接字符串本身。我已經安裝了MySQL作爲WAMP安裝的一部分,並且需要填寫實際的連接字符串。有人可以通過擴展鏈接的答案來幫助我實際包含完整的連接字符串示例嗎?Fluent Nhibernate與MySQL的連接字符串

讚賞。

編輯:我已經嘗試了幾種不同的事情,我不斷收到以下錯誤信息:

Can't load file FluentConfiguration.cs under d:\Builds\FluentNH-v1.x-nh3\src\FluentNHibernate\Cfg. 
Check the file permission and the existence of that file. 

我通過安裝的NuGet FNH,我不明白爲什麼在看這條道路,因爲d:驅動器是我的CD而不是硬盤。很困惑。

回答

5

您粘貼的錯誤看起來像Visual Studio試圖本地化來源顯示異常來自何處。這不是真正的異常信息 - 你應該把它放在那裏,這可能是錯誤的配置。

如果您已經使用默認設置安裝了WAMP,它將被配置爲在3306端口上偵聽,並且只有本地root帳戶沒有密碼。所以,你的連接字符串應該以某種方式那樣:

Server=localhost; Port=3306; Database=[database_name_here]; Uid=root; Pwd=; 

(可能不需要Pwd=部分的話)。

所以,你需要將它粘貼到你的App.config/Web.config<connectionStrings>部分:

<connectionStrings> 
    <add name="ConnectionString" 
     connectionString="Server=localhost; Port=3306; 
       Database=[database_name_here]; Uid=root; Pwd=;" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

,然後從鏈接的問題使用的解決方案:

MySqlConfiguration.Standard.ConnectionString(
    c => c.FromConnectionStringWithKey("ConnectionString") 
) 

或者,你可以粘貼連接字符串直接在你的Fluent的配置中,像這樣:

MySqlConfiguration.Standard 
    .ConnectionString.Is("Server=localhost; Port=3306; 
     Database=[database_name_here]; Uid=root; Pwd=;") 

無論如何,這種默認的根/無密碼配置只能用於本地開發和測試目的。

+0

感謝您的信息,我發現埋在異常中的錯誤是它找不到服務器,我指定了「MySQL」,因爲那是我的MySQL Workbench實例中列出的。將該參數更改爲「localhost」修復了它。 – kirps