У меня проблема с Fluent NHibernate AutoPersistenceModelGenerator. Он не хочет подбирать пользовательские карты.
Использование Sharp Architecture 2.0, Fluent NHibernate 1.2 и NHibernate 3.1.
Моя текущая соответствующая конфигурация выглядит следующим образом:
public AutoPersistenceModel Generate()
{
// This mappings group works with the exception of custom maps!!
var mappings = AutoMap.AssemblyOf<SecurableEntity>(new AutomappingConfiguration());
mappings.Conventions.Setup(GetConventions());
mappings.IgnoreBase<Entity>();
mappings.IgnoreBase<SecurableEntity>();
mappings.IgnoreBase(typeof(EntityWithTypedId<>));
mappings.UseOverridesFromAssemblyOf<AutoPersistenceModelGenerator>();
//mappings.UseOverridesFromAssemblyOf<UserMap>(); // Should call Override method of UserMap, but doesn't appear to...
mappings.Override<User>(new UserMap().Override()); // This hack fixes the issue with calling the Override method of UserMap.
mappings.UseOverridesFromAssemblyOf<UserMap>();
return mappings;
}
class UserMap : IAutoMappingOverride<User>
{
public void Override(AutoMapping<User> mapping)
{
//mapping => mapping.Table("Users");
mapping.Table("Users");
}
public Action<AutoMapping<User>> Override()
{
return map =>
{
map.Table("Users");
};
}
}
Я пытался внести различные изменения в конфигурацию и пролистать интернет-статьи о Fluent NHibernate, но безрезультатно. У меня есть рабочая версия, использующая Sharp Arch 1.x и более ранние версии NHibernate и Fluent. Я предполагаю, что произошло изменение в синтаксисе, который я пропускаю. Любая помощь будет принята с благодарностью.
Спасибо!
John