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 № 1Habrí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>();