我正在尝试执行这样的商店程序:
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#。
答案 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