在工厂打开NHibernate 2.1.2连接.OpenSession()?

时间:2011-06-05 13:57:25

标签: nhibernate connection isession

当我用

打开会话时

var session = factory.OpenSession();

并检查session.Connection.State是否为Open。 “Connection”的类型为SqlConnection。 这意味着通过创建会话,连接会自动打开,我认为NH并非如此。在NH确定冲洗的最佳时间之前,这不应该关闭吗?我做错了什么?

hibernate.cfg.xml:

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=Test; Integrated Security=SSPI</property>
    <property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
  </session-factory>
</hibernate-configuration>

1 个答案:

答案 0 :(得分:2)

不,实际发生的是当你第一次说session.Connection时NHibernate 创建并打开连接(如果会话当然没有连接)