Olá,
Meu projeto é ASP.NET, VS2008, NHibernate 2.2.
Tenho uma tabela temporária (Y) no meu Banco de Dados que funciona da seguinte maneira:
Quando eu abro a instância de conexão do BD eu consigo inserir dados e consultá-los, entretanto, quando a sessão encerra os dados são apagados automaticamente.
Preciso pegar um conteúdo e gravar nessa tabela temporária Y, e, logo após, preciso fazer uma consulta envolvendo essa tabela Y.
Como faria esse "Save" e essa consulta NA MESMA SESSÃO?
Já tentei utilizar a propriedade "<property name="connection.release_mode">on_close</property>" mas não tive sucesso.
O código que bolei foi esse aqui, mas quando eu dou um commit eu perco a sessão. Não sei se é por conta do commit ou se ao tentar "CreateSQLQuery" ele perde a sessão. Já tentei substituir o Commit por Flush mas não tive sucesso também.
public IList SaveEConsulta(IList<T> objts, String sqlQuery, bool finaliza)
{
try
{
transaction = session.BeginTransaction();
foreach (T obj in objts)
{
session.Save(obj);
}
transaction.Commit();
IList lista = session.CreateSQLQuery(sqlQuery).List();
return lista;
}
catch (Exception ex)
{
transaction.Rollback();
throw new Exception(ex.Message);
}
finally
{
if (finaliza)
Finaliza();
}
}
Desde já agradeço a atenção.