首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有InnoDB引擎的NHibernate fluent配置mysql

带有InnoDB引擎的NHibernate fluent配置mysql
EN

Stack Overflow用户
提问于 2011-07-13 10:07:06
回答 2查看 615关注 0票数 1

如何为MySql设置nhibernate配置(fluent配置),并强制默认引擎为InnoDB,以便我能够使用事务

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-11-09 06:18:34

或者,您可能想要使用此自定义方言

代码语言:javascript
复制
public class MySQL5InnoDBDialect
        : MySQL5Dialect
    {

        public MySQL5InnoDBDialect()
        {
            RegisterColumnType(DbType.Guid, "CHAR(36)"); //You don't "really" need this one for what you asked
        }

        public override string TableTypeString
        {
            get { return " ENGINE=InnoDB"; }
        }

        public override bool HasSelfReferentialForeignKeyBug
        {
            get { return true; }
        }

        public override bool SupportsCascadeDelete
        {
            get { return true; }
        }
    }

(相应地更新您的.config文件)

代码语言:javascript
复制
<property name="dialect">
Org.Zighinetto.MySQL5InnoDBDialect, Org.Zighinetto
</property>

当你没有自己的MySQL安装时,方言技巧工作得很好。您使用共享主机),默认为通常的MyISAM

票数 2
EN

Stack Overflow用户

发布于 2011-07-13 11:51:13

通常,在使用mysql和innodb时,您不必对映射做任何特定的操作。

切换到innodb引擎是你必须自己在mysql内部完成的事情,这与nHibernate无关。http://dev.mysql.com/doc/refman/5.1/en/storage-engine-setting.html

下面是我用于mysql (innodb)和nHibernate的示例配置:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <session-factory>
    <property name="connection.connection_string">Data Source=localhost;Database=test;UID=root;pwd=;</property>
    <property name="dialect">NHibernate.Dialect.MySQL5Dialect</property>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>
        <property name="show_sql">false</property>
        <property name="connection.release_mode">auto</property>
        <property name="adonet.batch_size">500</property>
        <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
    <property name="hbm2ddl.keywords">none</property>
    </session-factory>
</hibernate-configuration>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6673324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档