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.