必须使用dbcontext.Database.SqlQuery声明标量变量'@custid'?

 手机用户2602913291 发布于 2023-02-12 19:11

我试图使用EF5从bcontext.Database.SqlQuery执行存储过程.

这是一个错误 must declare the scalar variable '@custid'

  var results = _MiscContext.Database.SqlQuery(
              "exec sp_GetStaff @custid",
              customerNumber).ToList();

1如果customerNumber是工作人员,则SP返回,否则返回empty行.

ALTER PROCEDURE [dbo].[sp_GetStaff]
    @custid varchar(12)
AS
BEGIN

    SET NOCOUNT ON;
SELECT 
1 AS [C1]
FROM  [dbo].[Staff] with (nolock)
WHERE [CUSTOMER_ID] = @custid


END

如何管理?

1 个回答
  • 由于您使用的是命名参数,因此必须为要传递的参数指定匹配的名称.

    var results = _MiscContext.Database.SqlQuery<int>(
        "exec sp_GetStaff @custid",
        new SqlParameter("custid", customerNumber)).ToList<int>();
    

    2023-02-12 19:13 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有