0

я пытаюсь вызвать хранимую процедуру так:вызов хранимой процедуры с помощью LINQ

var param1 = new SqlParameter("d", SqlDbType.NVarChar); 
param1.Value = d; 
var param2 = new SqlParameter("c", SqlDbType.NVarChar); 
param2.Value = c; 
var param3 = new SqlParameter("b", SqlDbType.NVarChar); 
param3.Value = b; 
var param4 = new SqlParameter("a", SqlDbType.BigInt); 
param4.Value = a; 


((IObjectContextAdapter)this).ObjectContext.ExecuteStoreCommand("schema.stored_name", param1, param2, param3, param4); 

но процедура броска или функция «stored_name» ожидает параметр «@d», который не был поставлен.

также я создал массив заданных значений, но доцентную работу, любую идею ????

+0

Я думаю, что вы есть на самом деле назвать параметр «@d»? –

+0

Ya "@" отсутствует с именами параметров a, b, c, d. Попробуйте префикс @ –

+0

Я уже пробовал, и это не проблема – vrvictor

ответ

0

Вы можете попробовать с указанием названия параметров в тексте команды:

((IObjectContextAdapter)this).ObjectContext 
    .ExecuteStoreCommand("schema.stored_name @d, @c, @b, @a", param1, param2, param3, param4);