Dapper官方教程翻译4:Dapper方法之QueryFirst(转)
Dapper官方教程翻译4:Dapper方法之QueryFirst
QueryFirst方法描述
QueryFirst方法也是一个扩展方法,可以被IDbConnection对象调用,可以执行查询语句,并且映射到结果。
可以映射的类型:
QueryFirst方法可使用的参数
参数名 | 参数说明 |
sql | 数据库语句 |
param | 查询参数 |
transaction | 所使用的事务 |
commandTimeout | 执行超时时间 |
commandType | 语句类型 |
First,FirstOrDefault,Single,SingleOrDefault对比
Result | No Item | One Item | Many Items |
---|---|---|---|
First | Exception | Item | First Item |
Single | Exception | Item | Exception |
FirstOrDefault | Default | Item | First Item |
SingleOrDefault | Default | Item | Exception |
xx与xxOrDefault的区别:xx在找不到数据的时候会引发异常,而xxOrDefault会返回默认值,所以不确定有没有值的时候,优先使用xxOrDefault。
在含有多个值的时候,Single与SingleOrDefault都会引发异常,而First或者FirstOrDefault会返回第一个满足条件的值。
综上,优先使用FirstOrDefault
匿名查询
-
string sql = "SELECT * FROM OrderDetails WHERE OrderDetailID = @OrderDetailID;";
-
-
using (var connection = new SqlCeConnection("Data Source=SqlCe_W3Schools.sdf"))
-
{
-
var orderDetail = connection.QueryFirst(sql, new {OrderDetailID = 1});
-
-
FiddleHelper.WriteTable(orderDetail);
-
}
强类型查询
-
string sql = "SELECT * FROM OrderDetails WHERE OrderDetailID = @OrderDetailID;";
-
-
using (var connection = new SqlCeConnection("Data Source=SqlCe_W3Schools.sdf"))
-
{
-
var orderDetail = connection.QueryFirst(sql, new {OrderDetailID = 1});
-
-
FiddleHelper.WriteTable(orderDetail);
-
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· mysql8.0无备份通过idb文件恢复数据过程、idb文件修复和tablespace id不一致处
· 使用 Dify + LLM 构建精确任务处理应用