无法从NHibernate.Driver.MySqlDataDriver创建驱动程序

Hal*_*ley 8 mysql nhibernate

我在hibernate.cfg.xml配置中使用了这段代码:

<?xml version="1.0"?>
<hibernate-configuration xmlns= "urn:nhibernate-configuration-2.2">
  <session-factory>

    <!-- SQLServer: Provider --><!--
    <property name="connection.provider"> NHibernate.Connection.DriverConnectionProvider </property>-->

      <!-- SQLServer: Driver -->
    <property name="connection.driver_class"> NHibernate.Driver.MySqlDataDriver </property>

    <!-- SQLServer: Dialeto -->
    <property name="dialect"> NHibernate.Dialect.MySQLDialect </property>

    <!-- SQLServer: Connection String -->
    <property name="connection.connection_string"> Database=nhibernate;Data Source=localhost;User Id=root;Password=xxxx</property>

    <!-- Classe que será utilizada para Proxy
       (LazyLoading) -->
    <property name="proxyfactory.factory_class"> NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu </property>
  </session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)

我有一个问题是创建数据库.

NHibernate.HibernateException:无法从NHibernate.Driver.MySqlDataDriver创建驱动程序.---> System.Reflection.TargetInvocationException:调用目标抛出了异常.---> NHibernate.HibernateException:找不到程序集MySql.Data中的IDbCommand和IDbConnection实现....

我该怎么办?

Hal*_*ley 26

这很简单:将Mysql.Data.dll添加到项目的bin文件夹中.

  • 作为旁注:如果此解决方案不起作用,请右键单击引用中的"MySql.Data"并将选项"Copy Local"设置为"True". (2认同)
  • 我还应该补充一点,它需要添加到主 Web 应用程序项目(或实际运行的项目)中,而不是仅添加到包含数据访问代码的标准库项目中。 (2认同)
  • 复制本地不一定有效。对于 MSTest,我必须将其从包文件夹复制到测试项目的 bin 文件夹中。(Visual Studio 2013 SP1 RC) (2认同)