流利的NHibernate FluentMappings.AddFromAssemblyOf <>问题

一位同事和我最近正在做一个使用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();

有谁知道为什么发生这种情况,以及如何解决它?


使UserMap成为公共类型。

链接地址: http://www.djcxy.com/p/39449.html

上一篇: Fluent NHibernate FluentMappings.AddFromAssemblyOf<> Issue

下一篇: Programming to interfaces while mapping with Fluent NHibernate