Fluent NHibernate FluentMappings.AddFromAssemblyOf <> Проблема - PullRequest
18 голосов
/ 28 мая 2009

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

Через отладчик мы обнаружили, что FluentMappings.AddFromAssemblyOf возвращал 0 отображений, даже если они явно присутствуют и четко корректны. Мы перепробовали все, что могли придумать, и нам пришлось добавить каждое сопоставление вручную.

Ниже приведен код, который не работал:

        return Fluently.Configure().Database(
            MsSqlConfiguration.MsSql2005
                .ConnectionString(c => c
                .TrustedConnection()
                .Server("localhost")
                .Database("LDTT")))
                .Mappings(m => m.FluentMappings.AddFromAssemblyOf<UserMap>())
            .ExposeConfiguration(BuildSchema)
            .BuildSessionFactory();

В то время как этот код работал:

        return Fluently.Configure().Database(
            MsSqlConfiguration.MsSql2005
                .ConnectionString(c => c
                .TrustedConnection()
                .Server("localhost")
                .Database("LDTT")))
                .Mappings(m => m.FluentMappings.Add<ClientMap>())
                .Mappings(m => m.FluentMappings.Add<ContactMap>())
                .Mappings(m => m.FluentMappings.Add<DepartmentMap>())
                .Mappings(m => m.FluentMappings.Add<DivisionMap>())
                .Mappings(m => m.FluentMappings.Add<FileMap>())
                .Mappings(m => m.FluentMappings.Add<FileTypeMap>())
                .Mappings(m => m.FluentMappings.Add<RegionMap>())
                .Mappings(m => m.FluentMappings.Add<TimeEntryMap>())
                .Mappings(m => m.FluentMappings.Add<UserMap>())
            .ExposeConfiguration(BuildSchema)
            .BuildSessionFactory();

Кто-нибудь знает, почему это происходит и как это исправить?

1 Ответ

19 голосов
/ 28 мая 2009

Сделать пользовательскую карту типом общедоступным .

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