It's usually required to update your database if mappings for your application have changed. In this recipe, we'll generate a SQL script to update your database objects.
Complete the Configuring NHibernate with App.config or Web.config recipe at the beginning of this chapter.
Program.cs
.using
statements to the beginning of the file:using Eg.Core; using NHibernate.Mapping.ByCode; using NHibernate.Tool.hbm2ddl;
Main
method to look similar to this:var nhConfig = new Configuration().Configure(); var mapper = new ConventionModelMapper(); nhConfig.AddMapping(mapper.CompileMappingFor(new[] { typeof(TestClass) })); var update = new SchemaUpdate(nhConfig); update.Execute(false, true); Console.WriteLine("The tables have been updated"); Console.ReadKey();
TestClass
to include an additional property:public virtual string Description { get; set; }
TestClass
table should now have a new column corresponding to the Description
property.Using the mapping metadata from the configuration object and the current dialect, hbm2ddl
analyzes the existing structure of your database and generates a script to fulfill the differences. The SchemaUpdate
only adds missing objects, and does not try to remove anything.
18.117.189.228