2010-02-22 47 views
0
var cfg = new Configuration(); 
cfg.Configure(); 
cfg.AddAssembly(typeof(<ClassName>).Assembly); 
new SchemaExport(cfg).Execute(false, true, false, false); 

上面这段代码应该创建一个名为<ClassName>的数据库表。NHibernate不会创建表

但它没有创建。

+1

对于初学者,你有没有看过你的配置?您期望的类映射是否包含在内? – flq 2010-02-22 13:14:20

回答

5

你最有可能的问题:

  • 使用SQLite与connection.release_mode = on_close
  • 映射文件还没有被添加到组件作为嵌入资源
  • 指定程序没有映射文件
  • 映射文件未命名为* .hbm.xml
  • 某些表名或列名应引用SQL(这将引发异常)
0

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

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

我不知道为什么,但是你有它。