Получить значение выходного параметра - PullRequest
22 голосов
/ 21 февраля 2012

Я использую EF в своем проекте MVC.В моем проекте мне нужно использовать хранимые процедуры.Моя проблема заключается в использовании выходного параметра с хранимыми процедурами.Я понятия не имею, как это сделать

Ответы [ 3 ]

36 голосов
/ 21 февраля 2012

Когда вы создаете свою модель сущности, вы должны убедиться, что вы включили хранимые процедуры.Затем создайте функции импорта для них:

  1. Откройте вашу модель сущности в Visual Studio
  2. Обозреватель моделей должен открыться в правой части экрана
  3. ВБраузер модели, вам нужно выбрать хранимую процедуру и нажать Добавить функцию Import , чтобы создать функцию для хранимой процедуры.
  4. Откроется диалоговое окно для выбора хранимой процедуры и типа возврата

Вот и все.Теперь вы можете использовать это в коде.

using (MyEntities myContext = new MyEntities ())            
{                
   System.Data.Objects.ObjectParameter output = new System.Data.Objects.ObjectParameter("OutputParameterName", typeof(int));                
   myContext.GetCustomerCount(output);                
   Console.WriteLine(output.Value);            
}
12 голосов
/ 17 октября 2015

Модифицированный ответ для Entity Framework 6.x / VS 2015 - обратите внимание на изменение пространства имен:

using (MyEntities myContext = new MyEntities ())            
{                
   System.Data.Entity.Core.Objects.ObjectParameter output = new System.Data.Entity.Core.Objects.ObjectParameter("OutputParameterName", typeof(int));                
   myContext.GetCustomerCount(output);                
   Console.WriteLine(output.Value);            
}
1 голос
/ 22 марта 2017

Вот еще один способ сделать это с помощью Entity Framework

YourDB db = new YourDB();
public double GetCategoryYearly(double Param1, double Param2, double Param3)
{
    System.Data.Entity.Core.Objects.ObjectParameter OutputParam = new System.Data.Entity.Core.Objects.ObjectParameter("SPOutputParam", typeof(double));
    var objStoredProc = db.YourStoredProc(Param1, Param2, Param3, OutputParam).First();
    return Convert.ToDouble(OutputParam.Value);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...