QueryFirstOrDefault<T>在 Dapper 中,和的用法有什么区别ExecuteScalar<T>?
两者似乎都返回单个值,但QueryFirstOrDefault<T>如果未找到,则会返回该类型的默认值。由于性能或其他原因,您是否应该始终更喜欢使用两者之一,或者它们是否等效,而忽略返回的默认值?
主要区别在于它们的回报:
ExecuteScalar<T>正如其他用户所说,仅返回结果集的第一个单元格。
ExecuteScalar<T>是 generic <T>,它会自动将结果转换为您指定的类型<T>QueryFirstOrDefault<T>执行查询并返回您在 上指定的数据类型<T>:
如果指定的类型是基本类型(字符串、整数等),则它仅返回第一列中的数据。
如果指定的类型是对象,则为结果集的每一行创建该对象的实例。请注意,假定直接列名 === 成员名映射,并且不能使用自定义映射器,因此如果您的对象具有与结果集的列不同的字段名称,则不会获取任何值。
| 归档时间: |
|
| 查看次数: |
6561 次 |
| 最近记录: |