# # # # # # # # # # #
UPDATE:
This answer was written in February 2009. Given that the FluentNHibernate project has changed, it is very likely that the method was renamed or the mechanism for changing the legend was changed.
# # # # # # # # # # #
DatabaseTextFixtureBase Rhino.Commons.ForTesting FluentNHibernate. , , , FluentNHibernate NHibernate PersistenceModel NHibernate DatabaseTestFixtureBase. InitializeNHibernateAndIoC() Rhino.Commons NHibernate.
, . INHibernateInitializationAware, NHibernateUnitOfWorkTestContext, CreatConfigs().
INHibernateInitializationAware, , :
public class FluentNHibernateInitializationAwareConfigurator : INHibernateInitializationAware
{
public void BeforeInitialization(){}
public void Configured(Configuration cfg)
{
var persistenceModel = new PersistenceModel
{
Conventions =
{
GetForeignKeyName = (prop => prop.Name + "Id"),
GetForeignKeyNameOfParent = (prop => prop.Name + "Id")
}
};
persistenceModel.addMappingsFromAssembly(typeof(OneOfMyMappingClasses).Assembly);
persistenceModel.Configure(cfg);
}
public void Initialized(Configuration cfg, ISessionFactory sessionFactory){}
}
, , .
!
FluentNHibernate, Fluently . FluentNHibernateInitializationAwareConfigurator:
public class FluentNHibernateInitializationAwareConfigurator : INHibernateInitializationAware
{
public void BeforeInitialization(){}
public void Configured(Configuration cfg)
{
Fluently.Configure().Mappings(m =>
{
m.FluentMappings.AddFromAssemblyOf<User>()
.AlterConventions(convention =>
{
convention.GetForeignKeyName = (prop => prop.Name + "Id");
convention.GetForeignKeyNameOfParent = (prop => prop.Name + "Id");
}
);
m.Apply(cfg);
});
}
public void Initialized(Configuration cfg, ISessionFactory sessionFactory){}
}