我有一个 EF 代码优先模型。它工作正常,但是当我尝试使用 Database.ExecuteSqlCommand
运行存储过程时,它总是返回 -1,无论我在存储过程中输入什么结果总是 -1
我的存储过程:
CREATE PROCEDURE [dbo].[Login_user]
@clientKey varchar(max)
AS
BEGIN
SET NOCOUNT ON
RETURN(0)
END
然后我像这样运行它:
return Database.ExecuteSqlCommand(EXEC [dbo].[Login_user] {0}", key);
我错过了什么吗?
顺便说一下,如果我从 SQL Server Management Studio 运行存储过程,它会返回 0
USE [lo9iMed]
GO
DECLARE @return_value int
EXEC @return_value = [dbo].[Login_user]
@clientKey = N'76F41F99-EA9E-4181-A6FB-579D23D3C2C0'
SELECT 'Return Value' = @return_value
提前致谢。
动物
最佳答案
您的存储过程中包含 SET NOCOUNT ON 指令(您可能使用了 SSMS 模板?)。这意味着它不会计算受您的命令影响的行。删除此行,您应该一切顺利! :)
关于c# - Database.ExecuteSqlCommand 始终返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21259771/