Dapper 中的 QuerySingle 或 QueryFirst 内部如何工作?

Mic*_*l17 10 c# dapper

我看到 Dapper 有 QuerySingle 和 QueryFirst 方法。QuerySingle 是否检查 sql 是否仅返回一行并映射该行?QueryFirst 是否返回独立映射的第一行有多少行?

如果我想进行任何查询,例如anyItemSold:

Select Top 1 1 From Items Where IsSold = 1
Run Code Online (Sandbox Code Playgroud)

我必须这样写并且可能使用 ExecuteScalar 吗?

Ami*_*shi 12

, & 的工作方式与 DapperFirst的一般工作方式相同。SingleDefault

请参考这个教程

QuerySingle 方法是一种扩展方法,可以从 IDbConnection 类型的任何对象调用。它可以执行查询并映射第一个结果,如果序列中不存在一个元素,则抛出异常。

此外,同一教程提供了简单的表格来了解它们的工作原理:

图像

关于ExecuteScalar

它执行查询,并返回查询返回的结果集中第一行的第一列。附加的列或行将被忽略。

如果您的查询返回单个值(单行单列),那么这是最佳选择。