Salah satu cara untuk melakukannya adalah dengan memanggil ExecuteStoreCommand
, dan berikan SqlParameter
dengan arah 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;
Awalnya saya mencoba menggunakan arah ReturnValue
:
retval.Direction = ParameterDirection.ReturnValue;
context.ExecuteStoreCommand("MyProc @dtparm", retval, dtparm);
tapi retval.Value
akan selalu 0
. Saya menyadari bahwa retval
adalah hasil dari eksekusi MyProc @dtparm
pernyataan, jadi saya mengubahnya untuk menangkap nilai kembalian MyProc
dan kembalikan itu sebagai parameter keluaran.