Быстрое обновление, я прошел построчно, увидев, что "оценка функции требует запуска всех потоков".
Попытка выполнить хранимую процедуру, используя Entity Framework в С#. Мне удалось сделать это для SELECT
внутри хранимой процедуры, но не так много с UPDATE
.
Я проверил следующее:
bigint
качестве параметров, и, следовательно, входные данные отправляются как INT64.Метод, который я предполагаю, что EF, построенный вокруг хранимой процедуры, проходит через все части, кроме ее оператора return, где я получаю довольно общую ошибку недопустимого исключения.
Есть мысли по этому поводу? Я могу предоставить немного хранимой процедуры и строку метода:
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("SP_HERE", int64, int64, int64, int64);
}
Вот хранимая процедура:
CREATE PROCEDURE some_SP
@var1 bigint,
@var2 bigint,
@var3 bigint,
@var4 bigint
AS
BEGIN
--SET NOCOUNT ON;
Затем различные обновления, которые я вставил, были оригинальными.
Любые подсказки на макушке головы будут полезны. Не уверен, что является причиной этого, и копание в исключении, кажется, не дает ничего полезного.
Спасибо, парни!
Верните @@ROWCOUNT из хранимой процедуры. Скорее всего, проблема, с которой вы столкнулись, связана с несоответствием между типом, возвращаемым из хранимого процесса, и возвращаемым значением, ожидаемым методом ExecuteFunction.