sql >> Database >  >> RDS >> Sqlserver

Een resultaatfeedback krijgen van een opgeslagen procedure in Entity Framework

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.



  1. MySQL LOAD DATA INFILE en ontbrekende dubbele aanhalingstekens

  2. hoe gegevensbestanden van s3 naar postgresql rds te importeren

  3. PDO laat de laatste ID invoegen

  4. Entity Framework ObjectContext -> onbewerkte SQL-aanroepen naar native DBMS