我在我的项目中使用nHibernate但是我有一个存储过程,它只是返回成功或现在的boolen。
如何在c#中编写代码?
我尝试了以下但是它不喜欢因为我没有bool的映射!!!
{“No persister for:System.Boolean, mscorlib,版本= 2.0.0.0, 文化=中性, 公钥= b77a5c561934e089" }
IQuery query = NHibernateSession.CreateSQLQuery("EXEC MyDatabase.dbo.[ContentProvider_Import] :ContentProviderImportLogId", "success", typeof(bool))
.SetInt32("ContentProviderImportLogId", log.Id);
var test = query.UniqueResult<bool>();
和
的结果相同IQuery query = NHibernateSession.CreateSQLQuery("EXEC MyDatabase.dbo.[ContentProvider_Import] :ContentProviderImportLogId")
.AddEntity(typeof(bool))
.SetInt32("ContentProviderImportLogId", log.Id);
var test = query.UniqueResult<bool>();
答案 0 :(得分:5)
我会以稍微不同的方式解决这个问题,希望能够为你解决这个问题。
我会更改我的存储过程以返回bool,如下所示:
declare @result bit
set @result = 1
select @result
然后C#代码将是:
IQuery query = NHibernateSession.CreateSQLQuery("EXEC MyDatabase.dbo.[ContentProvider_Import] :ContentProviderImportLogId")
.SetInt32("ContentProviderImportLogId", log.Id);
var test = query.UniqueResult<bool>();