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”,但未提供。

我也创建了一个数组,但dosent工作,任何想法?

+0

我认为你必须实际调用参数“@d”? –

+0

缺少参数名称a,b,c,d的“@”号。尝试加前缀@ –

+0

我已经尝试过,这不是问题所在 – vrvictor

回答

0

您可以尝试在命令文本说明的参数名:

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