2010-08-10 6 views
0

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

ответ

6

Вы можете использовать класс 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

Хорошо, что не работает .. Вероятно, я не получил эту настройку для MVC ... Хммм. Кто-нибудь знает ссылку, которая описывает, как именно настроить приложение ASP.NET MVC? – vol4life27

+0

Взгляните на Sharp Architecture (http://www.sharparchitecture.net/) и приложение Northwind Sample. –

0

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

var sessionFactory = Fluently.Configure()... 
var sessionSource = new SessionSource(sessionFactory); 
sessionSource.BuildSchema() 
Смежные вопросы