SqlQuery每次都返回null

时间:2013-04-17 12:07:55

标签: c# sql datareader

我正在尝试执行这样的商店程序:

public bool Test(){
    var searchItem=base.Database.SqlQuery<QueryEntity>("exec nameOfMyProcedure @param1={0}",param13).FirstOrDefault();
    if(searchItem!=null){
        return searchItem.Output1;
    }
    else{
        return false;
    }
private class QueryEntity{
    public bool Output1{get;set;}
}

我在存储过程中有一个Return

不幸的是,searchItem始终返回null。

您知道我该如何解决这个问题吗?

我正在使用SQL服务器和C#。

3 个答案:

答案 0 :(得分:0)

您的存储过程返回的是多一列。这可能是你得到错误的原因。

答案 1 :(得分:0)

您可以尝试这样的事情

base.Database.SqlQuery<IEnumerable<string>>("exec nameOfMyProcedure @param1={0},@param2={1},@param3={2}",param1,param2,param3)

基本上这是一个示例,您需要做的是,查看存储过程返回的结构,然后使用合适的对象进行解析。

这里我假设所有的返回值都是字符串。

答案 2 :(得分:0)

找到解决方案。 这不是很合适但是......这是工作

我创建了一个新的存储过程,它返回1个输出

Select @Return_value as Return

而不是

Return @Return_value