描述
QuerySingleOrDefault方法是一种扩展方法,可以从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.QuerySingleOrDefault(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.QuerySingleOrDefault<OrderDetail>(sql, new {OrderDetailID = 1});
FiddleHelper.WriteTable(new List<OrderDetail>() { orderDetail });
}
网友评论