2011-07-02 106 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