これを行う 1 つの方法は、<を呼び出すことです。 code>ExecuteStoreCommand
、SqlParameter
を渡します Output
の方向で :
var dtparm = new SqlParameter("@dtparm", DateTime.Now);
var retval = new SqlParameter("@retval", SqlDbType.Int);
retval.Direction = ParameterDirection.Output;
context.ExecuteStoreCommand("exec @retval = MyProc @dtparm", retval, dtparm);
int return_value = (int)retval.Value;
もともと ReturnValue
の方向を使用してみました :
retval.Direction = ParameterDirection.ReturnValue;
context.ExecuteStoreCommand("MyProc @dtparm", retval, dtparm);
しかし retval.Value
常に 0
になります . retval
に気付きました MyProc @dtparm
を実行した結果です ステートメントなので、MyProc
の戻り値をキャプチャするように変更しました それを出力パラメータとして返します。