Свободно NHIbernate сильно замерзает - PullRequest
0 голосов
/ 01 ноября 2010


Согласно профилировщику для завершения FluentConfiguration.BuildConfiguration требуется 24 секунды. Вот код, который я использую для получения конфигурации:

    MsSqlConfiguration persistenceConfigurer = MsSqlConfiguration
         .MsSql2005
         .ConnectionString(connectionStringBuilder => connectionStringBuilder
                                                      .Server(server)
                                                      .Database(database)
                                                      .Username(userName)
                                                      .Password(password))
         .ProxyFactoryFactory<ProxyFactoryFactory>()
         .CurrentSessionContext<ThreadStaticSessionContext>()
         .DoNot.ShowSql();

FluentConfiguration cfg = Fluently.Configure()
   .Database(persistenceConfigurer)
   .Mappings(m => m.FluentMappings.AddFromAssemblyOf<ExecutorMap>());

return cfg.BuildConfiguration();

Количество файлов карт равно 19. Является ли обычным для Fluent NHibernate работать так долго? Может быть, это моя вина? Что может быть не так?
Заранее спасибо.

1 Ответ

2 голосов
/ 01 ноября 2010

Если вы используете профилировщик, вы сможете увидеть, какие вызовы внутри BuildConfiguration занимают это время. Что они?

Сканирование сборки было бы моим предположением. Является ли сборка, содержащая ваши отображения, особенно большой? Вы сказали Fluent NHibernate сканировать вашу сборку на наличие сопоставлений, поэтому независимо от того, насколько мало сопоставлений, она все равно должна сканировать всю сборку для них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...