【发布时间】:2014-08-08 17:48:57
【问题描述】:
NHibernate 使用 SQLite 自动创建数据库
new SchemaUpdate(configuration).Execute(false, true);
当我尝试使用 MySQL 时,我发现首先我必须手动创建架构,然后 NHibernate 会自动为我创建表。
举个更具体的例子假设我有一个连接字符串
<property name="connection.connection_string">Database=mydatabase;
Data Source=localhost;User Id=x;Password=y</property>
如果我没有像这样手动或以编程方式在连接字符串中创建与数据库同名的新模式:
"CREATE SCHEMA IF NOT EXISTS " + "mydatabase";
NHibernate 给我错误:未知数据库“mydatabase”。
如果之前存在名为“mydatabase”的模式,NHibernate 创建 表格自动
所以这是我的简短问题:
NHibernate 创建数据库的 MYSQL 数据库有没有办法 自动在MySQL中手动创建模式而不创建模式?如果有怎么办?
【问题讨论】:
-
你有没有看到这个问题stackoverflow.com/questions/914371/…
-
是的。我知道了。但是 NHibernate 为 SQLite 创建数据库。你确定它不是为 MySQL 创建的吗?
-
实体框架也会自动为 MYSQL 创建数据库。为什么不使用 NHibernate?
-
你看答案了吗,sqlite不需要特殊配置,而mssql和mysql需要的不仅仅是
CREATE SCHEMA foo; -
因固执而被否决。
标签: c# mysql nhibernate orm