It's usually not appropriate for your application to recreate database tables each time it runs. In this recipe, we'll generate a SQL script to create your database objects.
Complete the Configuring NHibernate with App.config or Web.config recipe at the beginning of this chapter.
Open
Program.cs
.Add these
using
statements to the beginning of the file:using Eg.Core; using NHibernate.Mapping.ByCode; using NHibernate.Tool.hbm2ddl;
Modify the
Main
method to look similar to this:var nhConfig = new Configuration().Configure(); var mapper = new ConventionModelMapper(); nhConfig.AddMapping(mapper.CompileMappingFor(new[] { typeof(TestClass) })); var schemaExport = new SchemaExport(nhConfig); schemaExport .SetOutputFile(@"db.sql") .Execute(false, false, false); Console.WriteLine("An sql file has been generated at {0}", Path.GetFullPath("db.sql")); Console.ReadKey();
Build and run your application.
Inspect the newly created
db.sql
file.
Using the mapping metadata from the configuration object and the current dialect, hbm2ddl
builds a SQL script for your entities.