NHibernate的初学几点错误记录

   在学NHibernate时,xml的配置经常弄得很不爽,现在记录几个以作记录。我在http://www4.it168.com/jtzt/shenlan/tech/NHibernate/里面的http://tech.it168.com/n/2007-03-22/200703220910228.shtml按照里面的步骤来,发现有几个错误。

1---Stone.Model.Person.hbm.xml(2,2): XML validation error: 未能找到元素“urn:nhibernate-mapping-  2.0:hibernate-mapping”的架构信息。

  解决的方法是将类的mapping xml的“urn:nhibernate-mapping-  2.0"中的2.0-----------2.2

2---The following types may not be used as proxies:
Stone.Model.Person: method get_Id should be virtual
Stone.Model.Person: method set_Id should be virtual
Stone.Model.Person: method get_Name should be virtual
Stone.Model.Person: method set_Name should be virtual
Stone.Model.Person: method get_Id should be virtual
Stone.Model.Person: method set_Id should be virtual
Stone.Model.Person: method get_Name should be virtual
Stone.Model.Person: method set_Name should be virtual

解决的方法:

引起问题的原因:

NHibernate 1.2 默认为类启用了延迟加载功能

解决方法:

方法1.在映射文件 class 标签中添加 Lazy="false" 属性

例 <class name="Stone.Model.Person,Stone.Model" table="Person" lazy="false">

方法2.为每个实体类的属性成员 添加 “ virtual ” 修饰符;

例:   

      public virtual  int id
      {
         get {  return m_id; }
         set {  m_id = value; }
      }

待续。。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值