Свободное владение NHibernate со стратегией именования замков

У меня есть Fluent NHiberate с запущенным и работающим Castle Facility.

Однако как установить NamingStrategy? Я попытался с объектом конфигурации, но безуспешно. Нужно ли регистрировать мою стратегию именования в моем контейнере Windsor?


person Daniel A. White    schedule 12.07.2009    source источник
comment
как насчет fluentnhibernate.org/api/FluentNHibernate.Mapping/?   -  person Mauricio Scheffer    schedule 13.07.2009
comment
Я бы предпочел сначала использовать стратегию именования.   -  person Daniel A. White    schedule 13.07.2009


Ответы (1)


Насколько я могу судить, в средстве NHibernate невозможно настроить стратегию именования. Пожалуйста, создайте новую проблему по этому поводу.

В качестве обходного пути вы можете наследовать от DefaultConfigurationBuilder и переопределите GetConfiguration(), где вы будете применять свою стратегию именования.

Чтобы использовать этот новый IConfigurationBuilder, который вы только что создали, вставьте его в NHibernateFacility при его создании:

container.AddFacility(new NHibernateFacility(new MyNamingStrategyConfigurationBuilder()));

Конечно, лучшим решением было бы реализовать это в DefaultConfigurationBuilder и отправить патч ;-)

person Mauricio Scheffer    schedule 12.07.2009
comment
Как насчет Configuration.SetNamingStrategy(...)? - person Daniel A. White; 13.07.2009
comment
Конечно, Configuration.SetNamingStrategy() — это то, что вы должны вызывать внутри переопределенной GetConfiguration(). AFAIK SetNamingStrategy() должен вызываться до того, как будут зарегистрированы какие-либо сопоставления, поэтому он должен быть там. - person Mauricio Scheffer; 13.07.2009