2

我刚刚将我的 .net windows 应用程序从 nHibernate 1.2 升级到 3.3,但现在遇到了问题。在运行时,它会引发以下错误:

NHibernate.dll NHibernate.InvalidProxyTypeException 中发生了“NHibernate.InvalidProxyTypeException”类型的第一次机会异常:以下类型不能用作代理:CallType:方法 Equals 应该是“公共/受保护的虚拟”或“受保护的内部虚拟”。 ...

这是课程:

public class CallType : DomainObject<int>
{
        public virtual String Description
        {
            get;
            protected set;
        }
        public virtual String Name
        {
            get;
            protected set;
        }

        public CallType()
        {}

        public override int GetHashCode()
        {
            return string.Format("{0}|{1}", Description, Name).GetHashCode();
        }
}

我错过了什么吗?所有成员都是公共虚拟的。此应用程序需要延迟加载

4

1 回答 1

4

您从 DomainObject 继承。我怀疑这个类中有一个方法 Equals,它可能没有设置为虚拟。

构造函数 CallType 不需要像某些人提到的那样是虚拟的。

于 2013-05-22T06:27:35.370 回答