How do I generate xml mappings files as part of my tests in MappingIntegrationTests

I need to manually check if the fluent mappings correlate to the mappings in the leagcy project.


Solution 1:

You can do something like:

 config.Mappings(m => 
    {
        m.FluentMappings.ExportTo("...file path here...");
        m.HbmMappings.ExportTo("...file path here...");
        m.AutoMappings.ExportTo("...file path here...");
    {
);

I don't like it myself. If I find some better way (if such exists at all) I'll update the answer.

See
http://blog.jagregory.com/2009/02/03/fluent-nhibernate-configuring-your-application/
Or if broken, see this instead
https://github.com/jagregory/fluent-nhibernate/wiki/Database-configuration

Solution 2:

You generate XML mappings by calling the ExportTo() method.

For example:

ISessionFactory sessionFactory = FluentNHibernate.Cfg.Fluently.Configure()
  .Database(FluentNHibernate.Cfg.Db.MsSqlConfiguration.MsSql2008
    .ConnectionString(connectionString)
  )
  .Mappings(m => m.FluentMappings.AddFromAssembly(assembly)
    .ExportTo(@"C:\your\export\path")
  )
  .BuildSessionFactory();

See here for documentation:

http://wiki.fluentnhibernate.org/Fluent_configuration