NHibernate “login: method get_Upwd should be virtual”错误解答!
错误如下!!
The following types may not be used as proxies:
Entitys.login: method get_Upwd should be virtual
Entitys.login: method get_id should be virtual
Entitys.login: method get_Uname should be virtual
Entitys.login: method set_Uname should be virtual
Entitys.login: method get_LastTime should be virtual
Entitys.login: method set_Upwd should be virtual
Entitys.login: method set_id should be virtual
Entitys.login: method set_LastTime should be virtual
----------------------------------------------------------------------------
引起问题的原因:
NHibernate 1.2 默认为类启用了延迟加载功能
解决方法:
方法1.在映射文件 class 标签中添加 Lazy="false" 属性
例:<class name="Entitys.login, Entitys" table="login" lazy="false">
方法2.为每个实体类的属性成员 添加 “ virtual ” 修饰符;
例:
public virtual int id
{
get { return m_id; }
set { m_id = value; }
}
----------------------------------------------------------------------------