/ / ¿Cómo devuelvo un bit de un procedimiento almacenado usando nhibernate - c #, nhibernate

¿Cómo devuelvo un bit de un procedimiento almacenado usando nhibernate - c #, nhibernate

Estoy usando nHibernate en mi proyecto, pero tengo un procedimiento almacenado que solo devuelve un boolen de éxito o ahora.

¿Cómo codifico esto en C #?

He intentado lo siguiente pero no me gusta porque no tengo un mapeo para bool !!!

{"No persiste para: System.Boolean, mscorlib, Versión = 2.0.0.0, Cultura = neutral, PublicKeyToken = b77a5c561934e089 "}

IQuery query = NHibernateSession.CreateSQLQuery("EXEC MyDatabase.dbo.[ContentProvider_Import] :ContentProviderImportLogId", "success", typeof(bool))
.SetInt32("ContentProviderImportLogId", log.Id);

var test = query.UniqueResult<bool>();

y el mismo resultado de

IQuery query = NHibernateSession.CreateSQLQuery("EXEC MyDatabase.dbo.[ContentProvider_Import] :ContentProviderImportLogId")
.AddEntity(typeof(bool))
.SetInt32("ContentProviderImportLogId", log.Id);

var test = query.UniqueResult<bool>();

Respuestas

5 para la respuesta № 1

Habría abordado este problema de una manera ligeramente diferente que con suerte le servirá de solución.

Cambiaría mi procedimiento almacenado para devolver un bool de la siguiente manera:

declare @result bit
set @result = 1

select @result

Entonces el código C # será:

IQuery query = NHibernateSession.CreateSQLQuery("EXEC MyDatabase.dbo.[ContentProvider_Import] :ContentProviderImportLogId")
.SetInt32("ContentProviderImportLogId", log.Id);

var test = query.UniqueResult<bool>();