代码之家  ›  专栏  ›  技术社区  ›  Cody

fluent nhiberinate fluentmappings.addfromassembly的问题

  •  18
  • Cody  · 技术社区  · 17 年前

    我和一个同事最近正在使用FluentNHibernate为一个小应用程序做后端。我们编写了实体、映射文件、持久性管理器,但出于某种原因,我们无法将数据库模式导出到任何内容。

    通过调试器,我们发现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 回复  |  直到 17 年前
        1
  •  19
  •   Darin Dimitrov    17 年前

    制作用户地图 公众的 类型。

    推荐文章