首页 > 数据库 > mysql教程 > 如何正确使用 DbContext.Database.SqlQuery 与存储过程参数?

如何正确使用 DbContext.Database.SqlQuery 与存储过程参数?

Susan Sarandon
发布: 2025-01-17 12:06:14
原创
533 人浏览过

How to Correctly Use DbContext.Database.SqlQuery with Stored Procedure Parameters?

EF Code First CTP5:使用带存储过程参数的DbContext.Database.SqlQuery(sql, params)

问题:

开发人员尝试使用带存储过程的DbContext.Database.SqlQuery方法时,在提供参数方面面临挑战。当使用SqlParameter对象时,会抛出SqlException异常,指示参数未按预期提供。

解答:

为了成功地将DbContext.Database.SqlQuery方法与需要参数的存储过程一起使用,应采用以下方法:

解决方案:

不要直接将SqlParameter对象作为参数传递,而是修改SQL查询字符串以包含以“@”符号开头的参数名称。然后,为每个所需参数创建和分配SqlParameter实例,并将它们作为附加参数提供。

代码示例:

以下代码片段演示了正确的用法:

<code class="language-c#">context.Database.SqlQuery<我的实体类型>(
    "mySpName @param1, @param2, @param3",
    new SqlParameter("param1", param1),
    new SqlParameter("param2", param2),
    new SqlParameter("param3", param3)
);</code>
登录后复制

此更新后的语法应解决SqlException问题,并允许您使用DbContext.Database.SqlQuery方法从存储过程检索所需的结果。

以上是如何正确使用 DbContext.Database.SqlQuery 与存储过程参数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板