#nhibernate #connection #isession
#nhibernate #подключение #isession
Вопрос:
Когда я открываю сеанс с
var session = factory.OpenSession();
и проверьте сеанс.Подключение.Укажите, что оно открыто. «Соединение» имеет тип SqlConnection. Это означает, что при создании сеанса соединение открывается автоматически, чего, как я думал, с NH не происходит. Разве это не должно быть закрыто до тех пор, пока NH не определит оптимальное время для сброса? Что я делаю не так?
The 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:
Нет, на самом деле происходит то, что NHibernate создает и открывает соединение при первом указании session.Connection
(если у сеанса еще не было соединения, конечно)