NHibernate MySql:自动创建数据库

时间:2014-06-18 12:19:24

标签: c# mysql nhibernate orm

NHibernate使用

自动为SQLite创建数据库
  

新的SchemaUpdate(配置).Execute(false,true);

当我尝试使用MySQL 时,我看到首先我必须手动创建架构,然后NHibernate会自动为我创建表格。

给出更具体的例子假设我有一个连接字符串

<property name="connection.connection_string">Database=mydatabase;
 Data Source=localhost;User Id=x;Password=y</property> 

如果我没有在连接字符串manuelly中创建一个与Database同名的新模式,或者以编程方式创建这样的:

  "CREATE SCHEMA IF NOT EXISTS " + "mydatabase";

NHibernate给了我错误:未知数据库“mydatabase”。

  

如果有一个名为“mydatabase”的架构存在之前,NHibernate就会创建   表格自动

所以这是我的简短问题:

  

对于NHYSnate创建数据库的MYSQL数据库有没有办法   在MySQL手动之前自动不创建模式?如果是这样的话?

1 个答案:

答案 0 :(得分:1)

NHibernate不会为任何数据库系统创建数据库。然而,SQLite 本身将创建您要求的任何数据库(如果它尚不存在),至少在通过System.Data.SQLite.dll使用时。这与大多数其他数据库引擎不同。

一个数据库引擎不需要某些操作这一事实本身并不意味着NHibernate必须承诺为您执行任何其他数据库引擎。

问题:

  

是否可以在MySQL中自动创建数据库?

答案是:“是的,只需编写代码即可执行所需的SQL语句。”

问题:

  

NHibernate会自动创建一个MySQL数据库吗?

答案是:“不”。