sql >> Databasteknik >  >> RDS >> Sqlserver

Få en resultatfeedback från en lagrad procedur i Entity Framework

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.



  1. Bästa sättet att skapa en SPARQL-slutpunkt för en RDBMS (MySQL-databas)

  2. Entity Framework 6 - Tidsfrågor

  3. MySQL-utvalda genrerproblem (php)

  4. Välj den andra raden i en tabell med hjälp av rownum