У меня есть хранимая процедура, вызванная через LINQ to SQL, запомненная процедура вызывает другой хранимый proc внутри нее и имеет SELECT для вывода результата. результат SELECT не возвращается к моему LINQ to SQL, я могу получить только значение результата int. Как я могу получить результат выбора сохраненного proc с внутри хранимой процедурыLinq to SQL Select in Stored Proc
0
A
ответ
1
Дизайнер LINQ не может точно проанализировать вашу хранимую процедуру для определения схемы. Одна работа заключается в том, чтобы временно изменить сохраненный proc на простой выбор правильной схемы. Переделайте его в дизайнере. Затем измените сохраненный proc обратно на оригинал. Таким образом, разработчик может определить схему и правильно отобразить ее в правильной сущности.
0
Когда вы вызываете хранимую процедуру из Sql Server Management Studio, она возвращает несколько наборов строк?
Если это так, использование хранимой процедуры из LINQ не является тривиальным, см. this article.
Чтение нескольких результатов легко с помощью метода 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"]);
}
избранного результата я после того, как это скалярная ИНТ результат, но до сих пор не LINQ может увидеть его – monkeylee
изменить зр просто выберите 1; , затем проанализируйте его, а затем измените его. это сработает. – TheSoftwareJedi
Мне пришлось изменить его на запрос, который возвратит несколько результатов для linq, чтобы выбрать тип результата. Спасибо, парни – monkeylee