首页 文章

NHibernate MySql:自动创建数据库

提问于
浏览
-2

NHibernate使用自动为SQLite创建数据库

new SchemaUpdate(configuration).Execute(false,true);

When I try with MySQLI see that first I have to create a schema manually ,然后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会自动创建表

所以这是我的简短问题:

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

1 回答

  • 1

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

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

    对于这个问题:

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

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

    对于这个问题:

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

    答案是不” .

相关问题