Eine Möglichkeit besteht darin, SqlParameter
mit der Richtung Ausgabe
:
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;
Ursprünglich habe ich versucht, eine Richtung von ReturnValue
zu verwenden :
retval.Direction = ParameterDirection.ReturnValue;
context.ExecuteStoreCommand("MyProc @dtparm", retval, dtparm);
sondern retval.Value
wäre immer 0
. Mir ist klar geworden, dass retval
war das Ergebnis der Ausführung von MyProc @dtparm
-Anweisung, also habe ich sie geändert, um den Rückgabewert von MyProc
zu erfassen und das als Ausgabeparameter zurückgeben.