从存储过程获取bool或int结果

本文关键字:int 结果 bool 存储过程 获取 | 更新日期: 2023-09-27 17:54:00

我有一个返回一点的SP。这就是使用EF上下文从我的C#程序调用它的方式:

bool productCount = context.Database
                           .SqlQuery<bool>("EXEC [dbo].[SP_Name] @CatogeryID,@Id",
                            new SqlParameter("CatID", lngCatid),
                            new SqlParameter("SId", lngStudentId)
                           ).FirstOrDefault();

当进程在SQL MMS内运行时,它根据参数给出正确的True/False结果。

同一个进程在被调用时总是返回false。

我错过了什么?

什么线索吗?

从存储过程获取bool或int结果

也许是您的存储过程中没有正确选择的东西?示例工作代码:

CREATE PROCEDURE [dbo].[testProc] 
    @inval bit output
AS
BEGIN
    declare @outval bit
    select @outval = @inval
    select @outval
END

using (var dbContext = new testContext())
{
    var data = dbContext.Database.SqlQuery<bool>("exec testProc {0}",false).FirstOrDefault();
    Console.WriteLine(data);
}