SqlQuery每次返回null

本文关键字:null 返回 SqlQuery | 更新日期: 2023-09-27 18:09:43

我正在尝试执行这样的存储过程:

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。

你知道我该怎么解决吗?

SqlQuery每次返回null

您的存储过程返回多个列。

你可以试试这样

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

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

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

找到解决方案。虽然不太合适,但是……它的作品

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

Select @Return_value as Return
不是

Return @Return_value