【问题标题】:Specify the MySql assembly for NHibernate?为 NHibernate 指定 MySql 程序集?
【发布时间】:2011-05-04 22:03:00
【问题描述】:

我们已经从源代码构建了 MySql 连接器,并将程序集名称更改为 OurCompany.MySql.Data。

另外,我第一次探索 ORM 并遇到了 NHibernate。在配置完所有内容并映射我的第一个测试类之后,我的重命名的 MySql 连接器现在是一个问题。有没有办法可以将 NHibernate 指向我们重命名的程序集?

** 编辑这里我的配置 **

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <session-factory>
        <property name="dialect">
            NHibernate.Dialect.MySQLDialect
        </property>
        <property name="connection.provider">
            NHibernate.Connection.DriverConnectionProvider
        </property>
        <property name="connection.driver_class">
            NHibernate.Driver.MySqlDataDriver
        </property>
        <property name="connection.connection_string">
           Server=192.168.2.5;Database=TomTest;User ID=webuser;Password=webuser
        </property>
        <property name="show_sql">true</property>
        <property name="proxyfactory.factory_class">
           NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle
        </property>
        <!-- HBM Mapping Files -->
        <mapping assembly="MyAssembly"/>
    </session-factory>
</hibernate-configuration>

【问题讨论】:

    标签: c# mysql nhibernate assemblies


    【解决方案1】:

    看一下MySqlDataDriver的代码。编写一个与 MySqlDataDriver 完全相同但只是程序集名称(构造函数中的第二个参数)不同的 ReflectionBasedDriver 是微不足道的。然后将您的驱动程序插入connection.driver_class 属性(使用其完全限定的类型名称)

    【讨论】:

    • 我没有 NHibernate 源,但它不会伤害我。谢谢。
    • 我已链接到源文件,您只需要该文件。
    猜你喜欢
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多