Dapper官方教程翻译4:Dapper方法之QueryFirst

QueryFirst方法描述

 

QueryFirst方法也是一个扩展方法,可以被IDbConnection对象调用,可以执行查询语句,并且映射到结果。

可以映射的类型:

 

QueryFirst方法可使用的参数

 

QueryFirst方法参数说明
参数名参数说明
sql数据库语句
param查询参数
transaction所使用的事务
commandTimeout执行超时时间
commandType语句类型

 

First,FirstOrDefault,Single,SingleOrDefault对比

 

ResultNo ItemOne ItemMany Items
FirstExceptionItemFirst Item
SingleExceptionItemException
FirstOrDefaultDefaultItemFirst Item
SingleOrDefaultDefaultItemException

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);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值