如何在存储过程中使用DbContext.Database.SqlQuery<TElement>(SQL,params)?EF规范第一条CTP 5我有一个具有三个参数的存储过程,我一直试图使用以下方法返回结果:context.Database.SqlQuery<myEntityType>("mySpName", param1, param2, param3);一开始我试着用SqlParameter对象,但这不起作用,并抛出了一个SqlException带着以下信息:过程或函数“mySpName”期望参数‘@parp 1’,该参数没有提供。那么,我的问题是,如何在需要参数的存储过程中使用此方法?谢谢。
3 回答
千万里不及你
TA贡献1784条经验 获得超9个赞
context.Database.SqlQuery<myEntityType>( "mySpName @param1, @param2, @param3", new SqlParameter("param1", param1), new SqlParameter("param2", param2), new SqlParameter("param3", param3));
白板的微信
TA贡献1883条经验 获得超3个赞
context.Database.SqlQuery<MyEntityType>("mySpName @param1 = {0}", param1)
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
此解决方案(仅适用于SQLServer 2005)
在proc名称之前的“EXEC” 副词之间的逗号 删除Param定义上的“@”(但不确定该位是必需的)。
:
context.Database.SqlQuery<EntityType>( "EXEC ProcName @param1, @param2", new SqlParameter("param1", param1), new SqlParameter("param2", param2));
- 3 回答
- 0 关注
- 404 浏览
添加回答
举报
0/150
提交
取消