Dapper官方教程翻译4:Dapper方法之QueryFirst(转)
作者:互联网
Dapper官方教程翻译4:Dapper方法之QueryFirst
2019年02月28日 10:21:40 Day_and_Night_2017 阅读数:174QueryFirst方法描述
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);
- }
标签:教程,QueryFirst,OrderDetailID,Item,sql,var,Dapper,First 来源: https://www.cnblogs.com/LiZhongZhongY/p/10991657.html