Я знаю, что это старый пост,
Я столкнулся с той же проблемой, на самом деле я написал экспорт схемы точно. Но исключение пока не появится.
Проблема в том, что вам нужно использовать открытый сеанс для выполнения экспорта схемы. Поэтому вам нужно изменить свою конфигурацию.
ISessionFactory session = Fluently.Configure()
.Database(SQLiteConfiguration.Standard.InMemory())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<MessagingDescriptorMap>())
.ExposeConfiguration(c =>
{
config = c; //pass configuration to class scoped variable
})
.BuildSessionFactory();
как только вы сделаете сеанс OpenSession()
, используйте его для подачи SchemaExport.Execute
ISession session = GetSessionFactory().OpenSession();
//the key point is pass your session.Connection here
new SchemaExport(config).Execute(true, true, false, session.Connection, null);
Я надеюсь, что это поможет кому-то другому, кто столкнется с той же проблемой.
Примечание
Я использовал NHibernate 2.1.2, Fluent NHibernate 1.1 и .Net 3.5