gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:52:50 26 4
gpt4 key购买 nike

我正在尝试使用 EF5 从 bcontext.Database.SqlQuery 执行存储过程。

它抛出错误必须声明标量变量“@custid”

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

如果 customerNumber 是员工,SP 返回 1 否则返回 行。

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

如何管理这个?

最佳答案

由于您使用的是命名参数,因此您必须为要传递的参数指定匹配的名称。

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

关于c# - 必须使用 dbcontext.Database.SqlQuery 声明标量变量 '@custid'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20386079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com