Получение свободного NHibernate для создания таблиц базы данных - PullRequest
0 голосов
/ 10 августа 2010

Я создаю приложение с ASP.NET MVC2, Fluent NHibernate, StructureMap и PostgreSQL.Я абсолютный новичок, когда дело доходит до Свободного NHibernate.Я получил настройки из нескольких разных источников, но когда я собираю и запускаю свое приложение, оно не создает таблицы базы данных для базы данных в строке подключения.У меня есть код в нескольких разных файлах, поэтому я не уверен, какой код мне нужно опубликовать, если я должен опубликовать все это.Если есть один ключ для проверки, пожалуйста, дайте мне знать или дайте мне знать, чтобы опубликовать весь код.Спасибо!

Ответы [ 2 ]

7 голосов
/ 11 августа 2010

Вы можете использовать класс SchemaExport из NHibernate Core для экспорта вашей схемы в базу данных.

Чтобы выполнить экспорт схемы, используйте метод ExposeConfiguration в API конфигурации базы данных Fluent NHibernate.

var sessionFactory = Fluently.Configure()
   .Database(/* ... */)
   .Mappings(/* ... */)
   .ExposeConfiguration(cfg => new SchemaExport(cfg).Execute(true, true, false))
   .BuildSessionFactory();

Также имеется класс SchemaUpdate, который не удаляет и не воссоздает вашу схему, а обновляет существующую схему.Это полезно, если вы хотите сохранить данные в базе данных.

SchemaExport и SchemaUpdate доступны в пространстве имен NHibernate.Tool.hbm2ddl.

0 голосов
/ 17 августа 2010

Объект SessionSource FluentNhiberante предоставляет CreateSchema.

var sessionFactory = Fluently.Configure()...
var sessionSource = new SessionSource(sessionFactory);
sessionSource.BuildSchema()
...