gpt4 book ai didi

c# - 具有 linq 数据上下文的存储过程返回值

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

我正在尝试使用 Linq 访问存储过程的返回值

DECLARE @ValidToken int = 0 //I have also tried using a bit instead of an int here.

IF EXISTS(SELECT 1 FROM Tests WHERE TestToken = @Token)
select @ValidToken = 1

return @ValidToken

这在通过 sql studio 运行 SP 时有效。但是我正在尝试使用 datacontext 类通过 linq 运行它,它总是返回 -1。

using (DataEntities dataEntities = new DataEntities())
{
int query = data.ValidateToken(id);
Response.Write(query.ToString());
}

查询将始终等于 -1,我不确定为什么。

我在网上看过,似乎有更简单的方法来获取返回值,但我宁愿坚持使用 Linq,因为程序的其余部分正在使用它。

最佳答案

为什么你们都将存储过程用作函数?

虽然存储过程有return,但它不是函数,所以不应该使用return返回数据,

相反,您应该使用输出参数和其他方式返回数据,如documented at MSDN

return的使用是documented at MSDN

误用 return 可能是 LINQ 不理解您的存储过程的原因。

关于c# - 具有 linq 数据上下文的存储过程返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16058713/

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