Как мне прочитать результаты хранимого процесса в его сложный тип - PullRequest
2 голосов
/ 02 февраля 2012

Я создал свою хранимую процедуру, я создал сложный тип, используя модель объекта.Теперь при условии, что я успешно установил соединение с базой данных - теперь я готов запустить процедуру сохранения и сохранить строки в List<ComplexType>.Как мне сделать это наилучшим и наиболее эффективным способом?Я знаю, что могу перебирать столбцы и строки SQLDataReader, но мне кажется, что мне не хватает смысла в структуре сущностей.

1 Ответ

2 голосов
/ 02 февраля 2012

Вы можете добавить хранимую процедуру как функцию импорта, а затем вызвать ее в вашей сборке напрямую:

Using (var context = new NorthwindEntities())
{
               Var query = context.GetEmployeeNames(); // we import the stored procedure as a function GetEmployeeNames().
               //…
}

Если вы используете параметр OUTPUT в вашей хранимой процедуре, вам нужно добавить ObjectParameters, чтобы получить возвращаемое значение. Например,

Using(var context = new NorthwindEntities())
{
               ObjectParameter firstname = new ObjectParameter(“firstname”, typeof(String));
               ObjectParameter lastname  = new ObjectParameter(“lastname”, typeof(String));
               Var query = context.GetEmployeeByID(123, firstname, lastname);
               // Console.WriteLine(“Employee {0}’s name is: {1}.{2}.”, 123, firstname, lastname);
}

Вот живой пример:

enter image description here

ReferralVisitors - это хранимая процедура.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...