描述
QueryFirstOrDefault方法是一种扩展方法,可以从IDbConnection类型的任何对象调用。它可以执行查询并映射第一个结果,如果序列不包含任何元素,则可以映射默认值。
结果可以映射到:
- 匿名
- 强类型
参数
下表显示了QueryFirstOrDefault方法的不同参数。
参数 | 说明 |
---|---|
SQL | 要执行的SQL语句或者存储过程名称 |
Param | 查询参数,默认为Null |
transaction | 确认是否启用数据库事务,默认为Null,不启用 |
commandTimeout | 数据库请求超时时间,默认为Null |
commandType | 查询类型,是sql,还是存储过程,默认为Null |
** 匿名类型查询示例**
匿名类型查询返回信息或者返回默认值信息,不会出现报错情况
string sql = "SELECT * FROM OrderDetails WHERE OrderDetailID = @OrderDetailID;";
using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
{
var orderDetail = connection.QueryFirstOrDefault(sql, new {OrderDetailID = 1});
FiddleHelper.WriteTable(orderDetail);
}
强类型查询示例
string sql = "SELECT * FROM OrderDetails WHERE OrderDetailID = @OrderDetailID;";
using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
{
var orderDetail = connection.QueryFirstOrDefault<OrderDetail>(sql, new {OrderDetailID = 1});
FiddleHelper.WriteTable(new List<OrderDetail>() { orderDetail });
}
网友评论