c# - 将单个值从存储过程返回到 .Net : OUTPUT parameter or ExecuteScalar? 有什么更好的

标签 c# .net sql sql-server tsql

我需要创建一个需要返回一些记录计数的存储过程。我正在使用 .Net 来读取结果。

我可以使用 OUTPUT 参数返回值或者 我可以在存储过程中执行 select count(*) 并使用一个SqlCommand.ExecuteScalar阅读它。

什么更好,为什么?

最佳答案

查看这篇 MSDN 文章:Performance Comparison: Data Access Techniques

文章在 GetOrderStatus 的性能测试中表明,OUTPUT 参数和 ExecuteScaler 之间的性能对于检索单个值 是相同的,但 ExecuteScalar 需要更少的代码。

以下是关于不使用 OUTPUT 参数的其他一些有趣的想法: What's wrong with output parameters .我喜欢那个帖子中Output params break the fundamental idea of​​ a function 的想法。

关于c# - 将单个值从存储过程返回到 .Net : OUTPUT parameter or ExecuteScalar? 有什么更好的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8589819/

相关文章:

c# - 如何在 C# 中删除字符串中的前 n 行?

MySQL:在结果中显示未找到的字符串

sql - 使用 SQL 逻辑 'OR' 和运算符 'LIKE' 时,如何调整 PostgreSQL 查询优化器?

c# - WPF 格式化文本 : Calculate font size to fill available height space

C# Form1.cs 不再显示在解决方案资源管理器中

c# - 使用 EF Core 将 SQL 转换为 Linq

c# - Azure 应用程序注册更改主页 URL

.net - 录制编程时间 - 写入还是下载?

c# - 这段代码是什么意思? (IEnumerable<int> query = from num in list)

c# - 包含 SQL 的电子邮件