2014-01-17 88 views
1

我正在使用實體框架6與存儲過程映射。我有一個帶有6個插入參數的插入sp。我插入的實體有8個屬性,其中一個屬性是Id。存儲過程必須指定許多參數實體框架

的問題是,我得到這個錯誤:

Procedure or function sp has too many arguments specified

爲什麼我不會插入最後一個屬性是因爲這將有0(位)的默認值,另一個系統將改變這種狀況的原因位。

當我使用NotMapped作爲屬性上面的屬性sp成功,但然後我無法查詢數據出系統。

那麼有人可以忽略一個參數嗎?

回答

1

好吧,你說你有一個插入6個參數的存儲過程,並且你插入的實體有8個屬性,其中一個屬性是Id。

因此,你留下7個屬性,對吧?但存儲過程有6個參數!這麼清楚的過程或函數SP有太多的參數指定

好可能是你可以看看這個http://hammadk.wordpress.com/2012/01/27/solved-procedure-xxx-has-too-many-arguments-specified-asp-net/

+0

嗯,我的確有7種性質離開,但一個是Id。我認爲微軟在默認情況下忽略了這個屬性,因爲在我的表中它是'Key'。當我刪除財產一切都很好。我現在更改了sp,它需要參數但不使用它。所以它必須是那一個屬性。 –

+0

@ SQL.NET Warrior,有沒有一種機制可以忽略意外的參數? –

+0

但是,如果該值默認爲0,另一個系統會像您在原始帖子中所說的那樣更改它,爲什麼不僅僅傳遞值0(默認值)? – StackTrace