【发布时间】:2014-04-16 17:26:41
【问题描述】:
我有一个这种格式的存储过程
CREATE PROCEDURE SP_MYTESTpROC
@VAR1 VARCHAR(10),
@VAR2 VARCHAR(20),
@BASEID INT ,
@NEWID INT OUTPUT
As Begin
INSERT INTO TABLE_NAME(username, firstname)
select @VAR1, @VAR2
WHERE ID = @BASEID
SET @NEWID = SCOPE_IDENTITY() AS INT
END
我正在使用 dapper 从 C# 代码调用这个存储过程。我的问题是:如何在使用 dapper 时将输出参数传递给存储过程?
【问题讨论】:
-
旁注:您应该不为您的存储过程使用
sp_前缀。微软有reserved that prefix for its own use (see Naming Stored Procedures),你确实会在未来某个时候冒着名称冲突的风险。 It's also bad for your stored procedure performance。最好只是简单地避免sp_并使用其他东西作为前缀 - 或者根本不使用前缀! -
RE:sp_ 在 sproc 名称中,根据我之前对@Steve 提供的答案的评论进行了注释,这绝对适用于 MS SQL 服务器。
-
以下不是
dapper... 对于那些感兴趣的人,我展示了一个 MySQL / c# Visual Studio 2015 工作示例HERE。这种情况是 IN 和OUT参数之一。焦点自然是OUT。
标签: c# sql sql-server stored-procedures dapper