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

Le morceau de code ci-dessus est supposé créer une base de données Table portant le nom <ClassName>.NHibernate ne crée pas de tables

Mais il ne crée pas.

+1

Pour commencer, avez-vous regardé dans votre config? Le mappage de classe attendu est-il inclus? – flq

Répondre

5

Vos plus probables problèmes:

  • utilisant SQLite avec connection.release_mode = on_close
  • aucun fichier de mappage dans l'assembly spécifié
  • fichiers de mappage n'ont pas été ajoutées à l'ensemble comme une ressource incorporée
  • les fichiers de mappage ne sont pas nommés * .hbm.xml
  • certains noms de table ou de colonne doivent être indiqués pour SQL (cela déclencherait une exception)
0

Le premier paramètre à Execute() doit être vrai.

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

Je ne sais pas pourquoi, mais là vous l'avez.

Questions connexes