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.