sql >> Database teknologi >  >> RDS >> Sqlserver

Få en resultatfeedback fra en lagret procedure i Entity Framework

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.



  1. Hvordan bruger man Oracles globale midlertidige tabel?

  2. vælg duplikeret post og tæl post fra kommasepareret i mysql

  3. Hvad sker der, hvis du ikke forpligter en transaktion til en database (f.eks. SQL Server)?

  4. Postgres ændrer rækkefølgen manuelt