Nhibernate中获取的Session直接就是打开的么,不需要一个Open方法吗?
ADO中,Connection还有一个Open的方法nhibernate创建session后是否会立即调用Open方法打开与数据库的链接?如果我创建了一个session对象 但没有执行sql操作。只是创建而已。并没有使用是否需要去调用close();来关闭

解决方案 »

  1.   

    NHibernate问题可以去参考下李永京博客
      

  2.   

    当通过OpenSession创建ISession时,Connection就是打开的。
    只要你创建了,就需要显示的调用关闭。
    通过我们使用using(ISession session in factory.OpenSession)的方法创建,以防忘记关闭。
      

  3.   

    即使我们没有使用OpenSession方法,只是仅仅通过配置文件建立了一个SessionFactory,这个过程也已经于数据库进行交互了是么?使用SQL Profiler查看,会发现这个过程有登录数据库的痕迹。
      

  4.   

    好象建立SessoinFactory时,会创建一下数据库。这块到没有特别注意