当我们使用这三种情况时,有什么不同的情况?我应该在哪里使用,在哪里不应该?

推荐答案

  • ExecuteScalar通常在查询返回单个值时使用.如果返回更多,则结果是第一行的第一列.例如SELECT @@IDENTITY AS 'Identity'.
  • ExecuteReader用于具有多行/多列的任何结果集(例如SELECT col1, col2 from sometable).
  • ExecuteNonQuery通常用于没有结果的SQL语句(例如,UPDATE、INSERT等).

Asp.net相关问答推荐

我应该如何将 DbContext 实例注入 IHostedService?

.Net Standard 2.0 类库是否有通用配置文件?

更新到 ASP.NET Core 2.0 - 包与 netcoreapp2.0 不兼容

HttpClient 请求的自定义标头

如何在 .NET Core 中实现 DbContext 连接字符串?

try 确定托管应用程序的 dotnet.exe 的进程 ID 时发生错误.发生一个或多个错误

如何在 ASP.NET Core Web API 中配置 JSON 格式的缩进

ASP.NET Core Web API 身份验证

如何配置 ASP.NET Core 1.0 以使用本地 IIS 而不是 IIS Express?

ASP.NET Core 1.0 ConfigurationBuilder().AddJsonFile("appsettings.json");找不到文件

如何在 ASP.NET core rc2 中禁用浏览器缓存?

创建项目 ASP.NET Core (.NET Core) 和 ASP.NET Core (.NET Framework) 有什么区别

如何关闭由 ASP.NET 核心框架完成的日志(log)记录

ASP.Net-Core 中的自定义身份验证

Azure 自定义控制器/API .Net 后端

在 smarterasp.net 上发布包含 csc.exe 文件的网站时出现问题?

Visual Studio 2015 不是语法突出显示剃刀也不是 Intellisense

使用实体框架从存储过程中获取数据

无法从程序集中加载 BuildTasks.Csc 任务?