Fluent NHibernate映射异常(没有persister错误)

本文关键字:persister 错误 没有 NHibernate 映射 异常 Fluent | 更新日期: 2023-09-27 18:01:46

我有以下代码,它给了我一个映射异常,没有持久性错误:

var sessionFactory = Fluently.Configure()
    .Database(
        OracleClientConfiguration.Oracle10.ConnectionString(
            c => c.FromConnectionStringWithKey("Main.ConnectionString")))
    .Mappings(x => x.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly()))
    .BuildSessionFactory();
using (var session = sessionFactory.OpenSession())
{
    using (var tx = session.BeginTransaction())
    {
        var card = new Card {CardType = "Test"};
        session.Save(card);
        tx.Commit();
    }
}

我的解决方案中有三个项目:MainApplication, EntitiesEntityMappings

MainApp引用Entities, EntityMappings引用Entities

我不明白我做错了什么。有什么想法吗? 编辑:

属性为public

确切的错误信息是:No persister for: TNT_DAL.EntityClasses.Card

Fluent NHibernate映射异常(没有persister错误)

确保您的实体和映射类是public。您的实体属性,即数据库字段应该是public virtual

还尝试指定一个映射类的程序集,而不是使用GetExecutingAssembly(),我模糊地记得当我第一次尝试设置FNH时遇到了麻烦。

.Mappings(x => x.FluentMappings.AddFromAssemblyOf<CardMap>())