SharpArchitecture: использование ClassMaps FNH вместо автоматического сопоставления - PullRequest
0 голосов
/ 04 апреля 2010

Мне нужно использовать ClassMaps вместо автоматического сопоставления из-за устаревшей базы данных. Но я не вижу, как настроить SharpArch, чтобы использовать их. Я попытался удалить AutoPersistentModelGenerator и использовать следующий код в методе InitializeNHibernateSession:

       var config = NHibernateSession.Init(webSessionStorage,
                              new[]{"ApplicationConfiguration.Models.dll"});

       Fluently.Configure(config)
           .Mappings(m =>
                         {   
                             m.FluentMappings.AddFromAssemblyOf<ConfigSchema>();
                         });

Но я всегда получаю исключение MappingException - «Не сохранять для: ConfigSchema» при работе с ConfigSchema.

Кто-нибудь пытался это сделать?

Edit:
ConfigSchema является частью модели предметной области.

Ответы [ 2 ]

2 голосов
/ 04 апреля 2010

Я тупой. Fluently.Configure (config) создает новый конфиг для NHibernate. Так что он никогда не будет использован в моем сценарии. Все, что мне было нужно, это использовать следующий код в AutoPersistentModelGenerator:

    public AutoPersistenceModel Generate()
    {
        var mappings = new AutoPersistenceModel();

        mappings.AddMappingsFromAssembly(typeof(ConfigVersionMap).Assembly);

        return mappings;
    }
0 голосов
/ 04 апреля 2010

Я не настолько знаком с проектом S # arp, но является ли ConfigSchema типом вашей модели домена? Универсальный аргумент T для AddFromAssemblyOf<T> должен быть сопоставленным классом из вашей доменной модели.

...