NHibernate “login: method get_Upwd should be virtual”错误解答!

来源:互联网 发布:e-mobile软件 编辑:程序博客网 时间:2024/05/15 12:09

错误如下!!

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; }
      }

----------------------------------------------------------------------------

原创粉丝点击