Вопрос

Я хочу создать сценарий базы данных, не имея реальную строку подключения к базе данных.

Для этого я использую основания EXPERTSCHEMA NHIBERNATE на конфигурации Nhibernate, сгенерированную с беглым Nibernate таким образом (во время моего метода создания IssessiveFactory):

FluentConfiguration configuration = Fluently.Configure();               
//Mapping conf ...
configuration.Database(fluentDatabaseProvider);
this.nhibernateConfiguration = configuration.BuildConfiguration();
returnSF = configuration.BuildSessionFactory();     

//Later
new SchemaExport(this.nhibernateConfiguration)              
                .SetOutputFile(filePath)
                .Execute(false, false, false);      

FLUENTDATABASEPROVIDER - это непреклоненный IPERSISTECHONFECHONERFIGERHER, который необходимо получить правильный диалект SQL для создания базы данных.

Когда фабрика создана с существующей базой данных, все работает нормально. Но то, что я хочу сделать, это создать объект конфигурации NhiberNate на выбранном двигателе базы данных без реальной базы данных за сценой ... И мне не удается сделать это.

Если кто-то имеет некоторую идею.

Это было полезно?

Решение

Попробуйте использовать:

.Create(false, false);

на месте

.Execute(false, false, false); 

Не добавляйте свойство ConnectionString для IPERSISTECHONSECONFIGER (FLYENTDATABASEPROVIDER).

Другие советы

Это то, что я использовал. Моя ошибка называла BuildSessionSessionStory, которая пытается подключиться к базе данных:

        var config = Fluently.Configure()
          .Database(MsSqlConfiguration.MsSql2008)
          .Mappings(m =>
            m.FluentMappings.AddFromAssemblyOf<SessionManager>());

        new SchemaExport(config.BuildConfiguration())
                .SetOutputFile(filedestination)
                .Create(false, false);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top