En måde at gøre det på er at kalde >ExecuteStoreCommand
, og indsend en SqlParameter
med retningen 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;
Oprindeligt prøvede jeg at bruge retningen ReturnValue
:
retval.Direction = ParameterDirection.ReturnValue;
context.ExecuteStoreCommand("MyProc @dtparm", retval, dtparm);
men retval.Value
vil altid være 0
. Jeg indså, at retval
var resultatet af at udføre MyProc @dtparm
sætning, så jeg ændrede den for at fange returværdien af MyProc
og returner det som en outputparameter.