c# - Fluent NHibernate FluentMappings.AddFromAssemblyOf<> 问题

标签 c# nhibernate fluent-nhibernate orm

我和一位同事最近正在使用 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 成为公共(public)类型。

关于c# - Fluent NHibernate FluentMappings.AddFromAssemblyOf<> 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/918157/

相关文章:

c# - 线程池程序在更快的服务器上运行得更慢

nhibernate - 查询开始于

nhibernate - 为应用程序中的所有程序集注册流畅的 nhibernate 映射

mysql - Asp.Net MVC UNitOfWork 和 MySQL 以及休眠连接

c# - childCount 始终为 0

C# 脚本 (python)

sql - 在 NHibernate 3.0 Linq 中急切加载多个 sibling 和孙辈(堂兄弟?)的良好行为

c# - NHibernate 3 和延迟加载的 future

c# - Fluent NHibernate - 如何使用鉴别器创建每个子类的表映射?

c# - 通过直接传递获取属性名称和类型