Вызов нескольких хранимых процедур из основной хранимой процедуры в MVC - PullRequest
0 голосов
/ 11 марта 2019

У меня есть главная хранимая процедура, которая вызывает 4 другие хранимые процедуры.

Alter PROCEDURE [dbo].COMBINED
    @Status varchar(50) 

AS
BEGIN


EXEC StatusMyFamilyProtectionPremier @Status = @status
EXEC StatusMyFamilyProtectionBasic @Status = @Status
EXEC StatusChildeducationSavings @Status = @status
exec StatusChildeducationTerm @Status = @status


END

Когда я выполнял ее в SQL, она работала нормально и выдает мне набор результатов всех 4 внутренних хранимых процедур.Stored procedure result

Но когда я вызываю хранимую процедуру Main из своего приложения MVC, я получаю только результат первой внутренней хранимой процедуры.

Я не уверен, почемуон не возвращает результат трех других внутренних хранимых процедур.

Я назвал его из своего приложения следующим образом:

 var life = dc.COMBINED(status);

Я добавил хранимую процедуру в свою модель непосредственно из базы данных.

Я не уверен, что именно я делаю не так.

Ответы [ 3 ]

0 голосов
/ 11 марта 2019

Entity Framework всегда возвращает первый набор результатов из хранимой процедуры и не поддерживает несколько наборов результатов из хранимых процедур.

Я использую Dapper Micro ORM для получения нескольких наборов результатов из хранимой процедуры.

0 голосов
/ 13 марта 2019

Я нашел ответ на вопрос здесь

https://www.khalidabuhakmeh.com/entity-framework-6-multiple-result-sets-with-stored-procedures

Entity Framework by defualt возвращает только первый набор результатов из хранимой процедуры. Этот код позволяет возвращать несколько наборов результатов из хранимой процедуры в MVC.

Если ваша хранимая процедура имеет параметры, попробуйте код по этой ссылке.

https://gist.github.com/khalidabuhakmeh/7310ab2340a7bef43c7307598c8fe101

Код был изменен для возврата нескольких наборов результатов

0 голосов
/ 11 марта 2019

Я думаю, что ваши первые три таблицы структуры одинаковы на изображении выше. Таким образом, вы будете использовать ключевое слово union и объединять результаты в одной таблице и вызывать только одну процедуру.

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