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);