升级的NHibernate和FNH DLL-现在获得;“没有坚持者”;例外情况

升级的NHibernate和FNH DLL-现在获得;“没有坚持者”;例外情况,nhibernate,fluent-nhibernate,nhibernate-mapping,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,我正试图将我的FNH自动映射项目升级到NHibernate和Fluent NHibernate的最新版本(NH3.2和FNH 1.3),但现在我在派生类上遇到了一个“无持久化器”异常(尽管基类似乎仍然被正确持久化) 这个派生类与旧的DLL(FNH1.0,NH2.1.2)自动映射得很好-我没有以任何方式更改映射逻辑或这些类 我升级了我的项目,只需复制旧DLL上的新DLL,并删除对新DLL不再需要的DLL的引用(例如Antlr 3,Castle) 我使用的确切版本: NHibernate 3.2.0

我正试图将我的FNH自动映射项目升级到NHibernate和Fluent NHibernate的最新版本(NH3.2和FNH 1.3),但现在我在派生类上遇到了一个“无持久化器”异常(尽管基类似乎仍然被正确持久化)

这个派生类与旧的DLL(FNH1.0,NH2.1.2)自动映射得很好-我没有以任何方式更改映射逻辑或这些类

我升级了我的项目,只需复制旧DLL上的新DLL,并删除对新DLL不再需要的DLL的引用(例如Antlr 3,Castle)

我使用的确切版本:

NHibernate 3.2.0.4000
FluentNHibernate 1.3.0.0
System.Data.SQLite 1.0.76.0
VS 2008 9.0.30729.1 SP
Windows XP SP3(32位)

可与旧DLL一起使用但不与新DLL一起使用的映射代码:

            return AutoMap.Assemblies(_assemblies)
                // Don't map the abstract base class
                .IgnoreBase<OfeEntity>()

                // Only map subclasses of OfeEntity
                .Where(t => t.IsSubclassOf(typeof(OfeEntity)))

                .Conventions.Add(
                    // Do cascading saves on all entities so lists  will be
                    // automatically saved 
                    DefaultCascade.All(),

                    // Turn on lazy loading, so will only read data that is actually
                    // displayed
                    DefaultLazy.Always()
                );
OfeDlsMeasurement是未持久化的类。OfeMeasurementBase以及从OfeEntity继承的其他几个类正在正确地持久化


旧版本对此没有问题-当存在多个继承级别时,新版本可能会有错误?

我将我们的项目从一些旧(F)NH迁移到最新的NH3.2。我怀疑它现在在集合等中使用了不同的键字段名,因为在使用现有数据库时需要指定确切的列名


此外,我建议使用NHibernate 3.2从源代码中重新构建Fluent NHibernate,以确保一切就绪。

本文可能会有所帮助。我自己用它升级了一个项目,它成功了。

什么时候遇到这个异常?在构建会话工厂时?在尝试执行SaveOrUpdate时出现异常。谢谢,希望我在开始这篇文章时找到那篇文章!一个问题-我真的需要显式设置默认代理工厂吗?尝试此操作后,出现“找不到DefaultProxyFactoryFactory”编译错误。这似乎是必需的。在我的项目中,当我忽略它时,我会得到一个“无效或不完整的配置”异常。我认为Fluent使用NHibernate.ByteCode.Castle作为默认值,这不再包含在3.2中
public abstract class OfeEntity

public class OfeMeasurementBase : OfeEntity

public class OfeDlsMeasurement : OfeMeasurementBase