我已經從SQL Server 2005數據庫生成實體框架模型並開始導入存儲過程。到目前爲止這麼好,但是其中一個存儲過程拋出一個異常,當我嘗試運行它時:存儲過程參數名稱和實體框架
過程或函數'csp_getCoworker'需要參數'@@ firstname',它沒有提供。
這裏是存儲過程的簽名:
ALTER PROCEDURE [dbo].[csp_getCoworker](
@@firstname nvarchar(32),
@@lastname nvarchar(32),
@@businessarea nvarchar(512),
@@location nvarchar(512)
)
,這裏是由實體框架生成的代碼
ObjectParameter p_firstnameParameter;
if (p_firstname != null)
{
p_firstnameParameter = new ObjectParameter("p_firstname", p_firstname);
}
else
{
p_firstnameParameter = new ObjectParameter("p_firstname", typeof(global::System.String));
}
[...]
return base.ExecuteFunction<csp_getCoworker_Result2>("csp_getCoworker", p_firstnameParameter, p_lastnameParameter, p_businessareaParameter, p_locationParameter);
是它在參數名稱的雙重@ -characters多數民衆贊成搞亂東西了嗎?
這是一個很好的答案!它給了我在正確的方向一推,我寫的包裝程序,正確命名變量剛剛過去他們到相應的SP解決了這個問題。 – 2011-05-04 09:34:40
@Bartek:你應該* *做的是找到誰決定這是一個好主意,在它們的參數名稱使用雙@ -marks,耳光他們,然後讓他們解決這個問題。 – 2011-09-05 19:16:47
@Matti:我試過了,但他們已經長期以來離開組織。 > :( – 2011-09-08 09:52:27