我在我的项目中使用nHibernate但是我有一个存储过程,它只是返回成功或现在的boolen.
我如何在c#中编写代码?
我尝试了以下但它不喜欢因为我没有bool的映射!
{"No persister for:System.Boolean,mscorlib,Version = 2.0.0.0,Culture = 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>();
Run Code Online (Sandbox Code Playgroud)
和相同的结果
IQuery query = NHibernateSession.CreateSQLQuery("EXEC MyDatabase.dbo.[ContentProvider_Import] :ContentProviderImportLogId")
.AddEntity(typeof(bool))
.SetInt32("ContentProviderImportLogId", log.Id);
var test = query.UniqueResult<bool>();
Run Code Online (Sandbox Code Playgroud)
我会以稍微不同的方式处理这个问题,希望能为你解决这个问题.
我将更改我的存储过程以返回bool,如下所示:
declare @result bit
set @result = 1
select @result
Run Code Online (Sandbox Code Playgroud)
那么C#代码将是:
IQuery query = NHibernateSession.CreateSQLQuery("EXEC MyDatabase.dbo.[ContentProvider_Import] :ContentProviderImportLogId")
.SetInt32("ContentProviderImportLogId", log.Id);
var test = query.UniqueResult<bool>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2632 次 |
| 最近记录: |