NHibernate 不创建表

发布于 2024-08-22 15:22:58 字数 265 浏览 9 评论 0原文

var cfg = new Configuration();
cfg.Configure();
cfg.AddAssembly(typeof(<ClassName>).Assembly);
new SchemaExport(cfg).Execute(false, true, false, false);

上面的代码应该创建一个名为 的数据库表。

但它不是创造。

var cfg = new Configuration();
cfg.Configure();
cfg.AddAssembly(typeof(<ClassName>).Assembly);
new SchemaExport(cfg).Execute(false, true, false, false);

The above piece of code is supposed to create a database Table with name <ClassName>.

But it is not creating.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心如狂蝶 2024-08-29 15:22:58

您最可能出现的问题:

  • 使用 SQLite 和 connection.release_mode=on_close
  • 指定程序集中没有映射文件
  • 映射文件尚未添加到程序集中,因为嵌入式资源
  • 映射文件未命名为 *.hbm.xml
  • 某些表或列名称应为为 SQL 引用(这将引发异常)

Your most likely problems:

  • using SQLite with connection.release_mode=on_close
  • no mapping files in the specified assembly
  • mapping files have not been added to the assembly as an Embedded Resource
  • mapping files are not named *.hbm.xml
  • some table or column names should be quoted for SQL (this would be throwing an exception)
韵柒 2024-08-29 15:22:58

Execute() 的第一个参数必须为 true。

new SchemaExport(cfg).Execute(**true**, true, false, false);

我不知道为什么,但你已经有了。

The first parameter to Execute() must be true.

new SchemaExport(cfg).Execute(**true**, true, false, false);

I don't know why, but there you have it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文