Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Получаване на обратна връзка за резултат от съхранена процедура в Entity Framework

Един от начините да го направите е да извикате ExecuteStoreCommand и подайте SqlParameter с посока 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;

Първоначално се опитах да използвам посока на ReturnValue :

retval.Direction = ParameterDirection.ReturnValue;

context.ExecuteStoreCommand("MyProc @dtparm", retval, dtparm);

но retval.Value винаги ще бъде 0 . Разбрах, че retval беше резултат от изпълнението на MyProc @dtparm оператор, така че го промених, за да улови върнатата стойност на MyProc и го връща като изходен параметър.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL вътрешно присъединяване към нулеви стойности

  2. Коригиране на проблем с отказване на достъп до възстановяване на SQL база данни

  3. Миграция от SQL Server 2000 към 2008 - ORDER BY Проблем при използване на DISTINCT

  4. Как да добавите празни редове, когато изберете заявка sql

  5. Ефективно преобразуване на дати между UTC и местно (т.е. PST) време в SQL 2005