我刚刚将我的.net windows应用程序从nHibernate 1.2升级到3.3但现在遇到了问题。在运行时,它会引发以下错误:
NHibernate.dll中发生了'NHibernate.InvalidProxyTypeException'类型的第一次机会异常 NHibernate.InvalidProxyTypeException:以下类型不能用作代理: CallType:方法Equals应该是'public / protected virtual'或'protected internal virtual' .....
这是班级:
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();
}
}
我错过了什么吗?所有成员都是公共虚拟的。此应用程序需要延迟加载
答案 0 :(得分:4)
您继承自DomainObject。我怀疑这个类有一个等于它的方法,它可能没有设置为虚拟。
构造函数CallType不需要像某些人提到的那样是虚拟的。