1.nhibernate在处理比较大的数据量的时候内存开销是个问题,请问各位有什么办法能解决吗?
我的例子是:5万多数据,容量是1.2个G,能不能让nhibernate不缓存?或者少缓存??2.在处理数据的时候,我读取子集采用的惰性方法,可是有时候它会报惰性读取子集有错误。不明白是怎么回事。3.问题一个其他的问题,我用datareader读取出来数据连接字符串,用的是直接+的方法,有时候它会报系统错误,真的让我头疼,谁知道出这个错误大概是那些错误吗??
各位大哥请指教啊~~

解决方案 »

  1.   

    DDL对这些比较熟,可以联系下他:
    http://message.csdn.net/SendMessage.aspx?To=renrenqq
    http://renrenqq.cnblogs.com/archive/2005/11/22/271685.html另外参见http://www.cnblogs.com/caidehui/archive/2005/05/19/NHibernateUse.html
    其中提出的解决办法是
    涉及到大批量数据的时候,可以使用HQL,但最好不要将对象一个一个的导入进来,要考虑将对象的字段(包括ID)导入进来,因为生成一个对象将导致非常多的冗余,性能上也有一些问题。
    最好自己根据MS提供的Data Application Access Block做一个自己的原生SQL执行Framework ,或者对批量数据都使用原生SQL来执行,只是要注意不要和Data系列的Reader、Table、Set联系太紧密,一般来说不要在界面层看到这些东西。
      

  2.   

    2、惰性读取是在不关闭Session的情况下才能读取子集3、举个例子先