我有一个包含三个参数的存储过程,我一直在try 使用以下方法返回结果:

context.Database.SqlQuery<myEntityType>("mySpName", param1, param2, param3);

起初,我try 使用SqlParameter个对象作为参数,但这不起作用,并抛出了一个带有以下消息的SqlException:

过程或函数"mySpName"需要未提供的参数"@param1".

所以我的问题是,如何将此方法用于需要参数的存储过程?

谢谢.

推荐答案

应按以下方式提供SqlParameter实例:

context.Database.SqlQuery<myEntityType>(
    "mySpName @param1, @param2, @param3",
    new SqlParameter("param1", param1),
    new SqlParameter("param2", param2),
    new SqlParameter("param3", param3)
);

Sql相关问答推荐

错误LOS-00302:在Oracle中使用自定义类型时必须声明DBA_PICKLER组件

提取Snowflake SQL中的嵌套键

Postgresql在加入时显示重复的行

SQL计数所有值在联接范围内的行

解析键-值对,根据值 Select ,并使用SQL创建新列

转换表中的数据

我希望以正确的升序获取SQL结果.怎样才能得到它们?

当一个视图在Postgres中失效时?

从字符串中删除";1、";和";2,";,而不删除";11、";和";12、";

SQL将三个表中的三列组合为一列

在Oracle SQL中按月生成日期

除了风格之外,还有什么理由更喜欢简单的CASE WHEN而不是搜索呢?

AdventureWorks 查询

将最近的结束日期与开始日期相匹配

如何在 SQL 中将两行(或多行)jsonb 数组合并为一行

SQL:如何从时间戳数据生成时间序列并计算不同事件类型的累计总和?

忽略与给定列匹配的行的 LAG 函数

存储过程 - 动态 SQL 中不同列值的计数

Postgres 条件求和函数

SQL 计数和过滤查询优化