我已经从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