1
A
回答
0
一般没有什么具体的说你将不得不使用你的映射来使用mysql和innodb。
切换到innodb引擎是你自己必须从mysql里面做的事情,它与nHibernate没有关系。 http://dev.mysql.com/doc/refman/5.1/en/storage-engine-setting.html
这里有一个例子,我使用的MySQL的(InnoDB的)和NHibernate:
<?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>
2
或者你可能想使用此自定义方言
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
文件)
<property name="dialect">
Org.Zighinetto.MySQL5InnoDBDialect, Org.Zighinetto
</property>
方言把戏工程f当你不拥有MySQL安装(即。你使用共享主机),默认是通常的MyISAM
相关问题
- 1. 使用nHibernate包装与流畅的nHibernate
- 2. 自定义类型的流畅的nHibernate配置
- 3. MySQL的InnoDB引擎重新启动
- 4. Innodb引擎和Myisam引擎
- 5. 的NHibernate +流畅+映射
- 6. 如何在使用流畅的Nhibernate时配置驱动程序?
- 7. 搜索引擎使用PHP,InnoDB引擎的Mysql
- 8. 配置MySQL的InnoDB为
- 9. 配置SysCache2与流利的NHibernate
- 10. 功能NHibernate配置与MySQL
- 11. 使用InnoDB引擎的MySQL表空间位置
- 12. MySQL InnoDB插件默认引擎类型不接受配置设置
- 13. MariaDB的Innodb引擎变量
- 14. 未知的表引擎'InnoDB'
- 15. Openfire - MySQL存储引擎:InnoDB或MyISAM?
- 16. MySQL引擎= InnoDB错误1005 errno 150
- 17. 将mysql默认引擎更改为innodb
- 18. 缺少InnoDb引擎
- 19. 映射到流畅的NHibernate中的SerializableType
- 20. 与MySQL的InnoDB
- 21. 流畅的NHibernate连接到MySql而没有MySql.Data的GAC
- 22. 如何配置Hibernate 5强制Mysql使用Innodb引擎创建表?
- 23. MYSQL InnoDB引擎索引(B-Tree)和一对一的关系
- 24. 流畅的NHibernate加入约束
- 25. 流畅的NHibernate独特字符串表
- 26. 流畅的NHibernate缓存Linq查询
- 27. MySQL启动事务不与innoDB引擎一起工作
- 28. 流畅的NHibernate映射非ID引导到Oracle
- 29. 如何使用流畅的NHibernate创建过滤索引?
- 30. MySQL配置的功能NHibernate
如果我使用nhibernate SchemaExport为我创建数据库该怎么办? – Eatdoku
它仍然是相同的配置。我自己使用SchemaExport。 –
如果我想要一个表/列使用InnoDB引擎,而另一个使用MyISAM,该怎么办? – Eatdoku