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

时间:2014-03-26 11:34:04

标签: c# sql entity-framework

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

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

当proc在SQL MMS内运行时,它会根据参数给出正确/错误的结果。

同一个proc在调用时总是返回false。

我错过了什么?

任何线索?

1 个答案:

答案 0 :(得分:1)

也许你的存储过程中没有正确选择?样本工作代码:

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);
}