MappingException:在具有流畅映射的 N 层应用程序中没有持久性
Posted
技术标签:
【中文标题】MappingException:在具有流畅映射的 N 层应用程序中没有持久性【英文标题】:MappingException: No persister for in N-tier application with fluent mapping 【发布时间】: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
非常感谢您的有用帮助。
【问题讨论】:
【参考方案1】:我想知道这是否是因为您已将调用链接到Mappings()
。你可以试试:
static NHibernateHelper()
_sessionFactory =
Fluently.Configure()
// ...
.Mappings(
c =>
c.FluentMappings
.AddFromAssemblyOf<Company>()
.AddFromAssemblyOf<BDICode>())
.BuildSessionFactory();
来自:https://***.com/a/6062220/1162077
【讨论】:
我尝试了您的解决方案。不幸的是,它没有用。其他提示?谢谢。以上是关于MappingException:在具有流畅映射的 N 层应用程序中没有持久性的主要内容,如果未能解决你的问题,请参考以下文章
JPA javax.persistence.PersistenceException:org.hibernate.MappingException:没有 JDBC 类型的方言映射:-101
org.hibernate.MappingException:关联引用未映射的类:empresa.Empleados
Jpa Join 查询与来自两个表的数据,org.hibernate.MappingException:没有 JDBC 类型的方言映射:2002