Een manier om dit te doen is door ExecuteStoreCommand
, en geef een SqlParameter . door met een richting van 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;
Oorspronkelijk probeerde ik een richting te gebruiken van ReturnValue :
retval.Direction = ParameterDirection.ReturnValue;
context.ExecuteStoreCommand("MyProc @dtparm", retval, dtparm);
maar retval.Value zou altijd 0 zijn . Ik realiseerde me dat retval was het resultaat van het uitvoeren van de MyProc @dtparm statement, dus ik heb het gewijzigd om de retourwaarde van MyProc vast te leggen en retourneer dat als een uitvoerparameter.