Linq to SQL Выбрать в сохраненном процессе - PullRequest
0 голосов
/ 13 мая 2009

У меня есть сохраненный процесс, вызываемый через LINQ to SQL, который хранит в себе другой сохраненный процесс и имеет SELECT для вывода результата. результат SELECT не возвращается в мой LINQ to SQL, я могу получить только значение результата int. Как я могу получить результат выбора сохраненного процесса в пределах сохраненного процесса

Ответы [ 2 ]

1 голос
/ 13 мая 2009

Разработчик LINQ не может точно проанализировать вашу хранимую процедуру для определения схемы. Обходной путь - временно изменить хранимый процесс на простой выбор правильной схемы. Переобразите это в дизайнере. Затем измените сохраненный процесс обратно на оригинал. Таким образом, разработчик может определить схему и правильно сопоставить ее с правильным объектом.

0 голосов
/ 13 мая 2009

Когда вы вызываете хранимую процедуру из Sql Server Management Studio, она возвращает несколько наборов строк?

В этом случае использование хранимой процедуры из LINQ не является тривиальным, см. эту статью .

Считывание нескольких результатов легко с помощью метода NextResult из DataReader:

var com = yourConnection.CreateCommand();
com.CommandText = "execute dbo.YourSp 'par1'";
var read = com.ExecuteReader();
// Move to second result set and read it
read.NextResult();
while (read.Read()) {
    Console.WriteLine(read["MyField"]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...