【问题标题】:MappingException: No persister for in N-tier application with fluent mappingMappingException:在具有流畅映射的 N 层应用程序中没有持久性
【发布时间】:2018-07-13 00:24:57
【问题描述】:

我有以下项目的结构:

我的模型在 NHibernateTesteWeb.Domain.Entity
我的地图在 NHibernateTesteWeb.Data.Map

这是我的公司课程:

namespace NHibernateTesteWeb.Domain.Entity
{
    public class Company
    {
        public virtual Guid Id { get; set; }
        public virtual string Name { get; set; }
    }
}

这里是公司的地图类:

namespace NHibernateTesteWeb.Data.Map
{
    public class CompanyMap : ClassMap<Company>
    {
        public CompanyMap()
        {
            Table("Company");
            Id(c => c.Id).GeneratedBy.Native();
            Map(c => c.Name);
        }
    }
}

在 NHibernateHelper 类中:

...  

static NHibernateHelper()
{            
    _sessionFactory = Fluently.Configure()
        .Database(FluentNHibernate.Cfg.Db.MsSqlConfiguration.MsSql2012.ConnectionString(c=>c.Server(@"(localdb)\Projects")
        .Database("StockAnalyser")
        .TrustedConnection()))                
        .Mappings(c => c.FluentMappings.AddFromAssemblyOf<Company>())
        .Mappings(c => c.FluentMappings.AddFromAssemblyOf<BDICode>()).BuildSessionFactory();
 }

当我运行解决方案时,它会引发以下异常:

没有持久性:NHibernateTesteWeb.Domain.Entity.Company
说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

我在使用 xml 映射时遇到了同样的错误。然后我更改为 Fluent 映射。但是错误没有解决。

我在 github 上托管了我的项目,以便您轻松帮助我: https://github.com/samsg/NHibernateSample

非常感谢您的有用帮助。

【问题讨论】:

    标签: c# nhibernate orm fluent-nhibernate fluent-nhibernate-mapping


    【解决方案1】:

    我想知道这是否是因为您已将调用链接到Mappings()。你可以试试:

    static NHibernateHelper()
    {            
        _sessionFactory = 
            Fluently.Configure()
            // ...
                .Mappings(
                    c => 
                        c.FluentMappings
                            .AddFromAssemblyOf<Company>()
                            .AddFromAssemblyOf<BDICode>())
                .BuildSessionFactory();
    }
    

    来自:https://stackoverflow.com/a/6062220/1162077

    【讨论】:

    • 我尝试了您的解决方案。不幸的是,它没有用。其他提示?谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多