Ett sätt att göra det är att anropa ExecuteStoreCommand
, och skicka in en SqlParameter
med riktningen 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;
Ursprungligen försökte jag använda riktningen ReturnValue
:
retval.Direction = ParameterDirection.ReturnValue;
context.ExecuteStoreCommand("MyProc @dtparm", retval, dtparm);
men retval.Value
skulle alltid vara 0
. Jag insåg att retval
var resultatet av att köra MyProc @dtparm
uttalande, så jag ändrade det för att fånga returvärdet för MyProc
och returnera det som en utdataparameter.