使用datareader时是否无法获得存储过程的返回值?返回值始终为null,但SP从SSMS中返回有效的int.
myCommand.CommandText = "GetVenueVideos";
SqlParameter retVal = new SqlParameter("@returnValue",SqlDbType.Int);
retVal.Direction = ParameterDirection.ReturnValue;
myCommand.Parameters.Add(retVal);
myReader = myCommand.ExecuteReader();
if (myReader.Read() && myReader.HasRows)
{
int returnValue = Convert.ToInt32(retVal.Value);
//returnValue is null at this point
}
Run Code Online (Sandbox Code Playgroud) 我的环境是VS 2012,C#,EF6和SQL Server 2008 R2.
我想执行一个存储过程来使用模式删除没有返回值的记录:
dataContext.Database.SqlQuery<return type>("name", parameter)
Run Code Online (Sandbox Code Playgroud)
如果没有返回结果,例如NO COUNT ON我应该将什么设置为返回类型?似乎它应该很简单但我无法在任何地方找到答案.
我试过dataContext.Database.SqlQuery("name", parameter)但是返回了一个编译错误:最好的重载方法匹配'System.Data.Entity.Database.SqlQuery(System.Type, string, params object[])'有一些无效的参数