2013-08-06 48 views
3

我有一個EF 5應用程序,我試圖調用存儲過程,它接受一個參數,如下所示:實體框架5 - 使用參數調用存儲過程。參數不承認

enter image description here

正如你所看到的,我提供一個參數,這是正確的名字。誰能告訴我我要去哪裏? 圖像可能有點難以看到。錯誤說:

「過程或函數'AddRowToPanelCdClAllData'需要未提供的參數'@SubId'。」

的代碼生成錯誤的行如下所示:

internal void AddRowToPanelCdClAllData(string subId) 
    { 
     this.Database.Database.ExecuteSqlCommand("AddRowToPanelCdClAllData", new SqlParameter("@SubId", subId)); 
    } 

「的子ID」的值包含的值,並且不爲空。

+0

你可以張貼代碼行和錯誤的文本,而不是圖像?這是不可能的讀取那個圖像說 – Claies

+0

當你指定的參數有一個NULL值,但存儲過程參數不接受NULLs時,經常發生這種情況。你可以仔細檢查'subId'確實有價值嗎? –

+0

@AndrewCounts http://i.stack.imgur.com/DzHyf.png – cheesemacfly

回答

8

試試這個:

this.Database.Database.ExecuteSqlCommand("AddRowToPanelCdClAllData @SubId", 
              new SqlParameter("SubId", subId)); 
+0

我不敢相信,但那是有效的。我從來沒有想過要這樣做。 –

+0

很高興這是很容易解決:) – Claies

+1

多參數呢? – hakan

相關問題