В моем проекте EF вызывает хранимую процедуру, которая показана ниже. Он возвращает либо 1, либо идентификатор области видимости.Entity Framework показывает ошибку при вызове хранимой процедуры
При импорте функции EF хранимая процедура указана с типом возвращаемого значения десятичного числа.
Когда хранимая процедура возвращает идентификатор объема, все в порядке.
Но когда, если условие зр удовлетворяет, эф бросает ошибку как
Считыватель данных, возвращенный поставщик магазина данных не имеет достаточное количество столбцов для запроса запрошенного.
Pls помощь ..
Это моя хранимая процедура:
@VendorId int,
@ueeareaCode varchar(3),
@TuPrfxNo varchar(3),
@jeeSfxNo varchar(4),
@Tjode varchar(3),
@uxNo varchar(3),
@TyufxNo varchar(4),
@Iyuy bit
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
SET NOCOUNT ON;
IF EXISTS (Select dfen_id
from dbo.efe_phfedwn_eflwn
where
[yu] = @Tyuode and
[uy] = @TuyxNo and
[yuno] = @Tuo)
return 1
ELSE
Begin
INSERT INTO dbo.yu
....................
Select Scope_Identity()
End
END
Я не очень опытен с EF, но возможно ли, что, поскольку вы возвращаетесь 1 или выбираете 'Scope_Identity(), у него возникают трудности? Не могли бы вы попробовать изменить 'Select Scope_Identity()' на 'RETURN Scope_Identity()' и посмотреть, не изменилось ли это? – Sean
Если это не решит проблему (у меня нет больших надежд), было бы полезно, если бы другие люди увидели код, который использует EF, чтобы получить результат этого SP, кода модели или всего, что есть – Sean
no , Я тестировал с использованием return. Но теперь он показывает ту же ошибку в обоих случаях. Позже он показывался только тогда, когда условие удовлетворяет. –